GenieSession.Session
— Typemutable struct Session
Represents a session object
GenieSession.__init__
— Methodinit() :: Nothing
Sets up the session functionality, if configured.
GenieSession.get
— Methodget(s::Session, key::Symbol) :: Union{Nothing,Any}
Returns the value stored on the Session
object s
as key
, wrapped in a Union{Nothing,Any}
.
GenieSession.get
— Methodget(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
.
GenieSession.id
— Methodid(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.
GenieSession.id
— Methodid(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.
GenieSession.id
— Methodid() :: String
Generates a new session id.
GenieSession.isset
— Methodisset(s::Session, key::Symbol) :: Bool
Checks wheter or not key
exists on the Session
s
.
GenieSession.load
— Functionload(session_id::String) :: Session
Loads session data from persistent storage - delegates to the underlying SessionAdapter
.
GenieSession.persist
— Functionpersist(s::Session) :: Session
Generic method for persisting session data - delegates to the underlying SessionAdapter
.
GenieSession.session
— Functionsession(params::Dict{Symbol,Any}) :: Sessions.Session
Returns the Session
object associated with the current HTTP request.
GenieSession.set!
— Methodset!(s::Session, key::Symbol, value::Any) :: Session
Stores value
as key
on the Session
object s
.
GenieSession.start
— Functionstart(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
GenieSession.start
— Methodstart(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
GenieSession.unset!
— Methodunset!(s::Session, key::Symbol) :: Session
Removes the value stored on the Session
s
as key
.