Add saveUninitialized option
Forces a session that is "uninitialized" to be saved to the store. A session is uninitialized when it is new but not modified. Choosing false is useful for implementing login sessions, reducing server storage usage, or complying with laws that require permission before setting a cookie.
The default is true, as it has been before, so it shouldn't affect the current behavior of the middleware. The option should behave similar to the saveUninitialized option in express-session.
Implementing this has been a bit tricky. The idea was to get a listener to the event.context.session server object, which creates a session when the object has been modified and therefore sends a cookie to the client. I'm not aware of any listener which gets called when every event handler is finished, so I built a proxy for the res.end() method to get a hook to the very end of all event listeners.
The proxy is only in use when setting saveUninitialized = false.