Safe Haskell | None |
---|---|
Language | Haskell98 |
Snap.Snaplet.Session.SessionManager
Description
This module is meant to be used mainly by Session backend developers, who would naturally need access to ISessionManager class internals. You can also use it if you need low-level access to the backend functionality.
Synopsis
Documentation
data SessionManager Source #
Any Haskell record that is a member of the ISessionManager
typeclass can be stuffed inside a SessionManager
to enable all
session-related functionality.
To use sessions in your application, just find a Backend that would
produce one for you inside of your Initializer
. See
initCookieSessionManager
in
CookieSession
for a built-in option
that would get you started.
Constructors
ISessionManager a => SessionManager a |
class ISessionManager r where Source #
Methods
Load a session from given payload.
Will always be called before any other operation. If possible, cache and do nothing when called multiple times within the same request cycle.
commit :: r -> Snap () Source #
Commit session, return a possibly updated paylaod
Reset session
Touch session
insert :: Text -> Text -> r -> r Source #
Insert a key-value pair into session
lookup :: Text -> r -> Maybe Text Source #
Lookup a key in session
delete :: Text -> r -> r Source #
Delete a key in session
Return a session-specific CSRF protection token. See mkCSRFToken
for
help in creating the value.
toList :: r -> [(Text, Text)] Source #
Return all key-value pairs as an association list