Jifty::Web::Session(3) A Jifty session handler

SYNOPSIS

In your etc/config.yml (optional):


framework:
Web:
# The default ($PORT is replaced by the port the app is running on)
SessionCookieName: JIFTY_SID_$PORT

new

Returns a new, empty session.

id

Returns the session's id if it has been loaded, or "undef" otherwise.

create

Assign a new ID, and store it server-side if necessary.

load [ID]

Load up the current session from the given "ID", or the appropriate cookie (see ``cookie_name'') otherwise. If both of those fail, creates a session in the database.

load_by_kv key => value

Load up the current session from the given (key, value) pair. If no matching session could be found, it will create a new session with the key, value set. Be sure that what you're loading by is unique. If you're loading a session based on, say, a timestamp, then you're asking for trouble.

unload

Flush the session, and leaves the session object blank.

loaded

Returns true if the session has already been loaded.

get KEY [TYPE]

Returns the value for "KEY" for the current user's session. "TYPE", which defaults to ``key'', allows accessing of other namespaces in the session, including ``metadata'' and ``continuation''.

set KEY => VALUE, [TYPE]

Sets the value "VALUE" for "KEY" for the session. "TYPE", which defaults to ``key'', allows values to be set in other namespaces, including ``metadata'' and ``continuation''. "VALUE" can be an arbitrary perl data structure --- "Jifty::Web::Session" will serialize it for you.

remove KEY, [TYPE]

Remove key "KEY" from the cache. "TYPE" defaults to ``key''.

remove_all

Removes the session from the database entirely.

set_continuation ID CONT

Stores a continuation in the session.

get_continuation ID

Pulls a continuation from the current session. Expects a continuation "ID".

remove_continuation ID

Removes a continuation with id "ID" from the store.

continuations

Return a hash of all the continuations in this session, keyed by the continuations' "id".

set_cookie

Sets the session cookie.

cookie_name

Returns the current session's cookie_name --- it is the same for all users, but varies according to the port the server is running on.

expires [VALUE]

Get or set the session's expiration date, in a format expected by Cache::Cache.