Safe Haskell | None |
---|---|
Language | Haskell98 |
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.
- data SessionManager = forall a . ISessionManager a => SessionManager a
- class ISessionManager r where
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.
forall a . ISessionManager a => SessionManager a |
class ISessionManager r where Source
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 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