NAME
Plack::Session::Store::MongoDB - MongoDB based session store for Plack apps.
VERSION
version 0.2
SYNOPSIS
use Plack::Builder;
use Plack::Middleware::Session;
use Plack::Session::Store::MongoDB;
my $app = sub {
return [ 200, [ 'Content-Type' => 'text/plain' ], [ 'Hello Foo' ] ];
};
builder {
enable 'Session',
store => Plack::Session::Store::MongoDB->new(
db_name => 'myapp',
coll_name => 'myapp_sessions', # defaults to 'session'
host => 'mongodb.myhost.com', # defaults to 'localhost'
port => 27017 # this is the default
);
$app;
};
DESCRIPTION
This module implements a MongoDB storage for session data. This has the advantage of being a simple (no need to generate a database scheme or even create the necessary database/collections), yet powerful backend.
It requires, of course, a running MongoDB daemon to work with.
METHODS
new( %params )
Creates a new instance of this module. Requires a hash of parameters containing 'db_name' with the name of the MongoDB database to use, and optionally a 'host' parameter with the hostname of the server where the MongoDB daemon is running (will default to 'localhost'), a 'port' parameter defining the port where the MongoDB daemon is listening (will default to 27017, the default MongoDB port), and a 'coll_name' parameter with the name of the collection in which sessions will be stored (will default to 'sessions').
fetch( $session_id )
Fetches a session object from the database.
store( $session_id, \%session_obj )
Stores a session object in the database. If a database error occurs when attempting to store the session, this method will die.
remove( $session_id )
Removes the session object from the database. If a database error occurs when attempting to remove the session, this method will generate a warning.
AUTHOR
Ido Perlmuter, <ido at ido50 dot net>
BUGS
Please report any bugs or feature requests to bug-plack-session-store-mongodb at rt.cpan.org
, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Plack-Session-Store-MongoDB. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Plack::Session::Store::MongoDB
You can also look for information at:
RT: CPAN's request tracker
http://rt.cpan.org/NoAuth/Bugs.html?Dist=Plack-Session-Store-MongoDB
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
Search CPAN
ACKNOWLEDGEMENTS
Daisuke Maki, author of Plack::Session::Store::DBI, on which this module is based.
Tests adapted from the Plack::Middleware::Session distribution.
LICENSE AND COPYRIGHT
Copyright 2010 Ido Perlmuter.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.