Spock
Safe HaskellNone
LanguageHaskell2010

Web.Spock.SessionActions.Server

Description

Operations requiring server-side session storage. Client-cookie and disabled backends do not provide this capability.

Synopsis

Documentation

data ServerSessionManager (m :: Type -> Type) sess Source #

Explicit capability available only for enabled server-backed sessions. Public actions in Web.Spock.SessionActions.Server require this handle.

getServerSessionManager :: SpockActionCtx ctx conn sess st (Maybe (ServerSessionManager (SpockActionCtx () conn sess st) sess)) Source #

Inspect whether the configured, enabled backend provides server storage. This does not load or allocate a visitor session.

requireServerSessionManager :: SpockActionCtx ctx conn sess st (ServerSessionManager (SpockActionCtx () conn sess st) sess) Source #

Require server storage, throwing ServerSessionsRequired if unavailable.

clearAllSessions :: ServerSessionManager (SpockActionCtx () conn sess st) sess -> SpockActionCtx ctx conn sess st () Source #

Delete every session from this server backend.

mapAllSessions :: ServerSessionManager (SpockActionCtx () conn sess st) sess -> (forall (m :: Type -> Type). Monad m => sess -> m sess) -> SpockActionCtx ctx conn sess st () Source #

Atomically transform stored sessions. Transaction callbacks may be retried.