Plack-Middleware-Session
view release on metacpan or search on metacpan
lib/Plack/Session/State.pm view on Meta::CPAN
sub new {
my ($class, %params) = @_;
$params{'session_key'} ||= 'plack_session';
$params{'sid_generator'} ||= sub {
Digest::SHA::sha1_hex(rand() . $$ . {} . time)
};
$params{'sid_validator'} ||= qr/\A[0-9a-f]{40}\Z/;
bless { %params } => $class;
}
sub expire_session_id {
my ($self, $id, $res) = @_;
}
sub validate_session_id {
my ($self, $id) = @_;
$id =~ $self->sid_validator;
}
lib/Plack/Session/Store.pm view on Meta::CPAN
use warnings;
our $VERSION = '0.34';
our $AUTHORITY = 'cpan:STEVAN';
use Plack::Util::Accessor qw[ _stash ];
sub new {
my ($class, %params) = @_;
$params{'_stash'} ||= +{};
bless { %params } => $class;
}
sub fetch {
my ($self, $session_id) = @_;
$self->_stash->{ $session_id };
}
sub store {
my ($self, $session_id, $session) = @_;
$self->_stash->{ $session_id } = $session;
lib/Plack/Session/Store/Cache.pm view on Meta::CPAN
sub new {
my ($class, %params) = @_;
die('cache require get, set and remove method.')
unless blessed $params{cache}
&& $params{cache}->can('get')
&& $params{cache}->can('set')
&& $params{cache}->can('remove');
bless { %params } => $class;
}
sub fetch {
my ($self, $session_id ) = @_;
$self->cache->get($session_id);
}
sub store {
my ($self, $session_id, $session) = @_;
$self->cache->set($session_id => $session);
lib/Plack/Session/Store/File.pm view on Meta::CPAN
my ($class, %params) = @_;
$params{'dir'} ||= $ENV{TMPDIR} || File::Spec->tmpdir;
die "Storage directory (" . $params{'dir'} . ") is not writeable"
unless -w $params{'dir'};
$params{'serializer'} ||= sub { Storable::lock_nstore( @_ ) };
$params{'deserializer'} ||= sub { Storable::lock_retrieve( @_ ) };
bless { %params } => $class;
}
sub fetch {
my ($self, $session_id) = @_;
my $file_path = $self->_get_session_file_path( $session_id );
return unless -f $file_path;
$self->deserializer->( $file_path );
}
( run in 0.364 second using v1.01-cache-2.11-cpan-65fba6d93b7 )