Plug.Session.Store behaviour

Specification for session stores.

Summary

Callbacks

Initializes the store

Parses the given cookie

Removes the session associated with given session id from the store

Stores the session associated with given session id

Types

sid :: term | nil
cookie :: binary
session :: map

Callbacks

delete(arg0, sid, arg2)

Specs

delete(Plug.Conn.t, sid, Plug.opts) :: :ok

Removes the session associated with given session id from the store.

get(arg0, cookie, arg2)

Specs

Parses the given cookie.

Returns a session id and the session contents. The session id is any value that can be used to identify the session by the store.

The session id may be nil in case the cookie does not identify any value in the store. The session contents must be a map.

init(arg0)

Specs

init(Plug.opts) :: Plug.opts

Initializes the store.

The options returned from this function will be given to get/3, put/4 and delete/3.

put(arg0, sid, any, arg3)

Specs

put(Plug.Conn.t, sid, any, Plug.opts) :: cookie

Stores the session associated with given session id.

If nil is given as id, a new session id should be generated and returned.