NAME
Plack::Session::Store::File - Basic file-based session store
SYNOPSIS
use
Plack::Builder;
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.