Genie.Sessions.idFunction
id() :: String

Generates a new session id.

id(payload::Union{HTTP.Request,HTTP.Response}) :: String

Attempts to retrieve the session id from the provided payload object. If that is not available, a new session id is created.

id(req::HTTP.Request, res::HTTP.Response) :: String

Attempts to retrieve the session id from the provided request and response objects. If that is not available, a new session id is created.

Genie.Sessions.startFunction
start(session_id::String, req::HTTP.Request, res::HTTP.Response; options = Dict{String,String}()) :: Tuple{Session,HTTP.Response}

Initiates a new HTTP session with the provided session_id.

Arguments

  • session_id::String: the id of the session object
  • req::HTTP.Request: the request object
  • res::HTTP.Response: the response object
  • options::Dict{String,String}: extra options for setting the session cookie, such as Path and HttpOnly
start(req::HTTP.Request, res::HTTP.Response; options::Dict{String,String} = Dict{String,String}()) :: Session

Initiates a new default session object, generating a new session id.

Arguments

  • req::HTTP.Request: the request object
  • res::HTTP.Response: the response object
  • options::Dict{String,String}: extra options for setting the session cookie, such as Path and HttpOnly
Genie.Sessions.set!Function
set!(s::Session, key::Symbol, value::Any) :: Session

Stores value as key on the Session object s.

Genie.Sessions.getFunction
get(s::Session, key::Symbol) :: Union{Nothing,Any}

Returns the value stored on the Session object s as key, wrapped in a Union{Nothing,Any}.

get(s::Session, key::Symbol, default::T) :: T where T

Attempts to retrive the value stored on the Session object s as key. If the value is not set, it returns the default.

Genie.Sessions.unset!Function
unset!(s::Session, key::Symbol) :: Session

Removes the value stored on the Sessions as key.

Genie.Sessions.issetFunction
isset(s::Session, key::Symbol) :: Bool

Checks wheter or not key exists on the Sessions.

Genie.Sessions.persistFunction
persist(s::Session) :: Session

Generic method for persisting session data - delegates to the underlying SessionAdapter.

Genie.Sessions.loadFunction
load(session_id::String) :: Session

Loads session data from persistent storage - delegates to the underlying SessionAdapter.

Genie.Sessions.sessionFunction
session(params::Dict{Symbol,Any}) :: Sessions.Session

Returns the Session object associated with the current HTTP request.

Genie.Sessions.initFunction
init() :: Nothing

Sets up the session functionality, if configured.