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 <[email protected]>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.