Sessions and continuations for Snap web apps.
This package provides two Snap extensions, implementing sessions as either memory-backed arbitrary types, or as client-side cookie-backed serializable types. The latter uses the clientsession
package to encrypt the cookie for security. In both extensions, sessions are protected from session stealing by checking the source IP address, and have a configurable timeout (optional for the cookie- backed back end). The session type is user-defined.
In addition, a library is provided for a continuation- based programming model called dialogues, which allows natural specification of stateful interactions with the client that span multiple requests. Because the session type is not serializable, this requires the memory-backed implementation.