The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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

Creates a new row in the Jifty::Model::Session table.

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.

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.

continuations

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