use NEXT;
use Catalyst::Utils ();
-our $VERSION = "0.02";
+our $VERSION = "0.04";
sub setup_session {
my $c = shift;
||= Catalyst::Utils::appprefix($c) . '_session';
}
-sub finalize_cookies {
- my $c = shift;
+sub extend_session_id {
+ my ( $c, $sid, $expires ) = @_;
if ( my $cookie = $c->get_session_cookie ) {
- $c->update_session_cookie( $c->make_session_cookie( $cookie->value ) );
+ $c->update_session_cookie( $c->make_session_cookie( $sid ) );
}
- $c->NEXT::finalize_cookies( @_ );
+ $c->NEXT::extend_session_id( @_ );
}
sub set_session_id {
my $cfg = $c->config->{session};
my $cookie = {
value => $sid,
- %attrs,
( $cfg->{cookie_domain} ? ( domain => $cfg->{cookie_domain} ) : () ),
+ %attrs,
};
unless ( exists $cookie->{expires} ) {
}
sub delete_session_id {
- my $c = shift;
- $c->NEXT::delete_session_id();
- delete $c->response->cookies->{ $c->config->{session}{cookie_name} };
+ my ( $c, $sid ) = @_;
+
+ $c->update_session_cookie( $c->make_session_cookie( $sid, expires => 0 ) );
+
+ $c->NEXT::delete_session_id($sid);
}
__PACKAGE__