diff options
author | franck cuny <franck@lumberjaph.net> | 2010-04-21 22:43:23 +0200 |
---|---|---|
committer | franck cuny <franck@lumberjaph.net> | 2010-04-21 22:43:23 +0200 |
commit | 312ebce3dee7af4f1ed8409c67d72e7813818133 (patch) | |
tree | 01cef09cd61de79c1f3104b347c4e2b295f2f842 | |
parent | initial commit (diff) | |
download | dancer-session-psgi-312ebce3dee7af4f1ed8409c67d72e7813818133.tar.gz |
use P::M::Session as backend for dancer's sessions
-rw-r--r-- | lib/Dancer/Session/PSGI.pm | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/lib/Dancer/Session/PSGI.pm b/lib/Dancer/Session/PSGI.pm index 00bb5d6..c530961 100644 --- a/lib/Dancer/Session/PSGI.pm +++ b/lib/Dancer/Session/PSGI.pm @@ -4,20 +4,38 @@ use strict; use warnings; our $VERSION = '0.01'; +use Dancer::SharedData; +use base 'Dancer::Session::Abstract'; + +sub retrieve { + my ($class, $id) = @_; + my $req = Plack::Request->new(Dancer::SharedData->request->{env}); + my $session = $req->session(); + return Dancer::Session::PSGI->new(%$session); +} + +sub flush { + my $self = shift; + my $req = Plack::Request->new(Dancer::SharedData->request->{env}); + my $session = $req->session(); + map {$session->{$_} = $self->{$_}} keys %$self; + return $self; +} + 1; __END__ =head1 NAME -Dancer::Session::PSGI - +Dancer::Session::PSGI - Let Plack::Middleware::Session handle session =head1 SYNOPSIS - use Dancer::Session::PSGI; + setting session => 'PSGI' =head1 DESCRIPTION -Dancer::Session::PSGI is +Dancer::Session::PSGI let you use C<Plack::Middleware::Session> as backend for your sessions. =head1 AUTHOR |