Genie.Sessions.Session
— Type.mutable struct Session
Represents a session object
Genie.Sessions.id
— Function.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.start
— Function.start(session_id::String, req::HTTP.Request, res::HTTP.Response; options = Dict{String,String}()) :: Session
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!
— Function.set!(s::Session, key::Symbol, value::Any) :: Session
Stores value
as key
on the Session
object s
.
Genie.Sessions.get
— Function.get(s::Session, key::Symbol) :: Nullable
Returns the value stored on the Session
object s
as key
, wrapped in a Nullable
.
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.get!!
— Function.get!!(s::Session, key::Symbol)
Attempts to read the value stored on the Session
s
as key
- throws an exception if the key
is not set.
Genie.Sessions.unset!
— Function.unset!(s::Session, key::Symbol) :: Session
Removes the value stored on the Session
s
as key
.
Genie.Sessions.isset
— Function.isset(s::Session, key::Symbol) :: Bool
Checks wheter or not key
exists on the Session
s
.
Genie.Sessions.session
— Function.session(params::Dict{Symbol,Any}) :: Sessions.Session
Returns the Session
object associated with the current HTTP request.