NAME

Jifty::Web::Session - 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.

Sets the session cookie.

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.