Documentation / @zerotal/session / SessionDriver
Interface: SessionDriver
Defined in: session/src/drivers/CookieDriver.ts:27
Contract every session backend implements.
A driver is responsible for reading a session out of the incoming request and writing it back onto the outgoing response. SessionMiddleware calls loadFromRequest before the pipeline and saveSession after it. Implementations decide where data lives — inside the (encrypted) cookie (CookieDriver) or server-side keyed by a cookie ID (RedisDriver).
See
Methods
loadFromRequest()
loadFromRequest(
request):Promise<SessionPayload>
Defined in: session/src/drivers/CookieDriver.ts:33
Read and decode the session for an incoming request. Must return a fresh payload (new UUID, empty data) when no valid session cookie is present.
Parameters
request
Request
The incoming request to read the session cookie from.
Returns
Promise<SessionPayload>
saveSession()
saveSession(
id,data,response):Promise<void>
Defined in: session/src/drivers/CookieDriver.ts:41
Persist the session for id and attach the appropriate Set-Cookie header
to the response.
Parameters
id
string
Session ID to save under.
data
Record<string, unknown>
The session data to persist.
response
Response
Response to append the session cookie to.
Returns
Promise<void>
destroy()?
optionaldestroy(id):Promise<void>
Defined in: session/src/drivers/CookieDriver.ts:48
Remove a session's server-side record (e.g. its Redis key). Optional:
pure client-side drivers like CookieDriver store nothing on the
server. Called by SessionMiddleware for IDs abandoned by regenerate(),
so a pre-regeneration session cannot be replayed until its TTL expires.
Parameters
id
string
Returns
Promise<void>