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 "/tmp" is used.
- 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.
<
http://www.iinteractive.com>
This library is free software; you can redistribute it and/or modify it under
the same terms as Perl itself.