my $env = shift;
my $session = $env->{'psgix.session'};
- my $counter = $session->get('counter') || 0;
- if ($counter >= 2) {
- $session->expire;
- } else {
- $session->set(counter => $counter + 1);
+ my $counter = $session->{counter} || 0;
+ if ($session->{counter}++ >= 2) {
+ $env->{'psgix.session.options'}->{expire} = 1;
}
return [ 200, [], [ "counter=$counter" ] ];
};
-$app = Plack::Middleware::Session::Cookie->wrap($app, secret => "foobar");
+$app = Plack::Middleware::Session::Cookie->wrap($app, secret => "foobar", expires => 3600);
my $ua = LWP::UserAgent->new;
$ua->cookie_jar( HTTP::Cookies->new );
my $res = $cb->(GET "/");
is $res->content, "counter=0";
+ like $res->header('Set-Cookie'), qr/expires=/;
+ like $res->header('Set-Cookie'), qr/path=\//;
$res = $cb->(GET "/");
is $res->content, "counter=1";
+ like $res->header('Set-Cookie'), qr/expires=/;
$res = $cb->(GET "/");
is $res->content, "counter=2";
- my $res = $cb->(GET "/");
+ $res = $cb->(GET "/");
is $res->content, "counter=0";
};