NAME
Plack::Session::Store::File - Basic file-based session store
SYNOPSIS
use Plack::Builder;
use Plack::Middleware::Session;
use Plack::Session::Store::File;
my $app = sub {
return [ 200, [ 'Content-Type' => 'text/plain' ], [ 'Hello Foo' ] ];
};
builder {
enable 'Session',
store => Plack::Session::Store::File->new(
dir => '/path/to/sessions'
);
$app;
};
# with custom serializer/deserializer
builder {
enable 'Session',
store => Plack::Session::Store::File->new(
dir => '/path/to/sessions',
# YAML takes it's args the opposite order
serializer => sub { YAML::DumpFile( reverse @_ ) },
deserializer => sub { YAML::LoadFile( @_ ) },
);
$app;
};
DESCRIPTION
This implements a basic file based storage for session data. By default it will use Storable to serialize and deserialize the data, but this can be configured easily.
This is a subclass of Plack::Session::Store and implements its full interface.
METHODS
- new ( %params )
-
The
%params
can include dir, serializer and deserializer options. It will check to be sure that the dir is writeable for you. - dir
-
This is the directory to store the session data files in, if nothing is provided then File::Spec's tmpdir() is used to determine the system's temp dir.
- serializer
-
This is a CODE reference that implements the serialization logic. The CODE ref gets two arguments, the
$value
, which is a HASH reference to be serialized, and the$file_path
to save it to. It is not expected to return anything. - deserializer
-
This is a CODE reference that implements the deserialization logic. The CODE ref gets one argument, the
$file_path
to load the data from. It is expected to return a HASH reference.
BUGS
All complex software has bugs lurking in it, and this module is no exception. If you find a bug please either email me, or add the bug to cpan-RT.
AUTHOR
Stevan Little <stevan.little@iinteractive.com>
COPYRIGHT AND LICENSE
Copyright 2009, 2010 Infinity Interactive, Inc.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.