NAME
Mojolicious::Sessions:ThreeS - A Mojolicious Sessions manager that supports controlling Storage, State and Sid generation.
SYNOPSIS
You can use this directly when you build your mojolicious App:
package My::App;
use Mojo::Base 'Mojolicious';
use Mojolicious::Sessions:ThreeS;
sub startup{
my ($app) = @_;
...
$app->sessions( Mojolicious::Sessions:ThreeS->new({ storage => ... , state => ... , sidgen => ... } ) );
...
}
Or as a plugin, with exactly the same arguments. See Mojolicious::Plugin::Sessions3S.
new
Builds an instance of this given the following properties (all optional):
- storage
-
An instance of a subclass of Mojolicious::Sessions::ThreeS::Storage. Defaults to
undef
When not given, this will consider itself inactive and fallback to the default Mojolicious::Sessions behaviour.
- state
-
An instance of a subclass of Mojolicious::Sessions::ThreeS::State. Defaults to an instance of Mojolicious::Sessions::ThreeS::State::Cookie.
- sidgen
-
An Session ID generator, instance of Mojolicious::Sessions::ThreeS::SidGen. Defaults to an instance of Mojolicious::Sessions::ThreeS::SidGen::Simple.
was_set
This was set with explicit store, storage and sid generator.
Usage:
if ( $this->was_set() ){
...
}
cookie_domain
From Mojolicious::Sessions. Delegate to the underlying Cookie based state. Use this only if you know the state object supports cookies.
cookie_name
From Mojolicious::Sessions. Delegate to the underlying Cookie based state. Use this only if you know the state object supports cookies.
cookie_path
From Mojolicious::Sessions. Delegate to the underlying Cookie based state. Use this only if you know the state object supports cookies.
secure
From Mojolicious::Sessions. Delegate to the underlying Cookie based state. Use this only if you know the state object supports cookies.
load
Implements load from Mojolicious::Sessions
store
Implements store from Mojolicious::Sessions
get_session_id
Get the current session ID or generate a fresh one and store it in the given session object, using the given controller.
Usage:
my $session_id = $this->session_id( $session, $controller );