1 package SessionTestApp::Controller::Root;
6 use base qw/Catalyst::Controller/;
8 __PACKAGE__->config( namespace => '' );
11 my ( $self, $c ) = @_;
13 $c->res->output("logged in");
16 sub login_without_address : Global {
17 my ( $self, $c ) = @_;
19 $c->log->debug($c->request->address);
20 delete $c->session->{__address};
21 $c->res->output("logged in (without address)");
25 my ( $self, $c ) = @_;
27 "logged out after " . $c->session->{counter} . " requests" );
28 $c->delete_session("logout");
31 sub set_session_variable : Global {
32 my ( $self, $c, $var, $val ) = @_;
33 $c->session->{$var} = $val;
34 $c->res->output("session variable set");
37 sub get_session_variable : Global {
38 my ( $self, $c, $var ) = @_;
39 my $val = $c->session->{$var} || 'n.a.';
40 $c->res->output("VAR_$var=$val");
43 sub get_sessid : Global {
44 my ( $self, $c ) = @_;
45 my $sid = $c->sessionid || 'n.a.';
46 $c->res->output("SID=$sid");
49 sub dump_session : Global {
50 my ( $self, $c ) = @_;
51 my $sid = $c->sessionid || 'n.a.';
52 my $dump = Dumper($c->session || 'n.a.');
53 $c->res->output("[SID=$sid]\n$dump");
56 sub change_sessid : Global {
57 my ( $self, $c ) = @_;
58 $c->change_session_id;
59 $c->res->output("session id changed");
63 my ( $self, $c ) = @_;
64 if ( $c->session_is_valid ) {
65 $c->res->output("you are logged in, session expires at " . $c->session_expires);
66 $c->session->{counter}++;
69 $c->res->output("please login");
73 sub user_agent : Global {
74 my ( $self, $c ) = @_;
75 $c->res->output('UA=' . $c->req->user_agent);
78 sub accessor_test : Global {
79 my ( $self, $c ) = @_;
92 $c->session->{five} = 5;
94 for my $key (keys %{ $c->session }) {
95 $c->res->write("$key: " . $c->session->{$key} . "\n");
99 sub dump_these_loads_session : Global {
104 $c->res->write('LOADED')
107 $c->res->write('NOT');
111 sub extend_session_expires : Global {
113 $c->extend_session_expires(31536000);
114 $c->res->output($c->session_expires);