1 package Plack::Session;
5 use Plack::Util::Accessor qw[
12 my ($class, %params) = @_;
14 id => $params{ state }->get_session_id( $params{ request } ),
15 state => $params{ state },
16 store => $params{ store },
23 my ($self, $key) = @_;
24 $self->store->fetch( $self->id, $key )
28 my ($self, $key, $value) = @_;
29 $self->store->store( $self->id, $key, $value );
33 my ($self, $key) = @_;
34 $self->store->delete( $self->id, $key );
37 ## Lifecycle Management
41 $self->store->cleanup( $self->id );
42 $self->state->expire_session_id( $self->id );
47 $self->store->persist( $self->id )