Plug v1.8.1 Plug.Session.Store behaviour View Source

Specification for session stores.

Link to this section Summary

Types

The cookie value that will be sent in cookie headers. This value should be base64 encoded to avoid security issues

The session contents, the final data to be stored after it has been built with Plug.Conn.put_session/3 and the other session manipulating functions

The internal reference to the session in the store

Functions

Gets the store name from an atom or a module

Callbacks

Removes the session associated with given session id from the store

Parses the given cookie

Initializes the store

Stores the session associated with given session id

Link to this section Types

The cookie value that will be sent in cookie headers. This value should be base64 encoded to avoid security issues.

Link to this type

session() View Source
session() :: map()

The session contents, the final data to be stored after it has been built with Plug.Conn.put_session/3 and the other session manipulating functions.

The internal reference to the session in the store.

Link to this section Functions

Gets the store name from an atom or a module.

iex> Plug.Session.Store.get(CustomStore)
CustomStore

iex> Plug.Session.Store.get(:cookie)
Plug.Session.COOKIE

Link to this section Callbacks

Link to this callback

delete(arg0, sid, arg2) View Source
delete(Plug.Conn.t(), sid(), Plug.opts()) :: :ok

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

Link to this callback

get(arg0, cookie, arg2) View Source
get(Plug.Conn.t(), cookie(), Plug.opts()) :: {sid(), session()}

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.

Initializes the store.

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

Link to this callback

put(arg0, sid, any, arg3) View Source
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.