table of contents
Plack::Session::Store::File(3pm) | User Contributed Perl Documentation | Plack::Session::Store::File(3pm) |
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.
2024-09-24 | perl v5.40.0 |