Genie.Sessions.Session
— Typemutable struct Session
Represents a session object
Genie.Sessions.id
— Functionid() :: 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.start
— Functionstart(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 objectreq::HTTP.Request
: the request objectres::HTTP.Response
: the response objectoptions::Dict{String,String}
: extra options for setting the session cookie, such asPath
andHttpOnly
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 objectres::HTTP.Response
: the response objectoptions::Dict{String,String}
: extra options for setting the session cookie, such asPath
andHttpOnly
Genie.Sessions.set!
— Functionset!(s::Session, key::Symbol, value::Any) :: Session
Stores value
as key
on the Session
object s
.
Genie.Sessions.get
— Functionget(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!
— Functionunset!(s::Session, key::Symbol) :: Session
Removes the value stored on the Session
s
as key
.
Genie.Sessions.isset
— Functionisset(s::Session, key::Symbol) :: Bool
Checks wheter or not key
exists on the Session
s
.
Genie.Sessions.persist
— Functionpersist(s::Session) :: Session
Generic method for persisting session data - delegates to the underlying SessionAdapter
.
Genie.Sessions.load
— Functionload(session_id::String) :: Session
Loads session data from persistent storage - delegates to the underlying SessionAdapter
.
Genie.Sessions.session
— Functionsession(params::Dict{Symbol,Any}) :: Sessions.Session
Returns the Session
object associated with the current HTTP request.
Genie.Sessions.init
— Functioninit() :: Nothing
Sets up the session functionality, if configured.