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