Revert "Move call to _save_session_expires to finalize_session"
[catagits/Catalyst-Plugin-Session.git] / t / lib / SessionTestApp / Controller / Root.pm
CommitLineData
064c3709 1package SessionTestApp::Controller::Root;
2use strict;
3use warnings;
4use Data::Dumper;
5
6use base qw/Catalyst::Controller/;
7
8__PACKAGE__->config( namespace => '' );
9
10sub login : Global {
11 my ( $self, $c ) = @_;
12 $c->session;
13 $c->res->output("logged in");
14}
15
2a1463db 16sub login_without_address : Global {
17 my ( $self, $c ) = @_;
18 $c->session;
19 $c->log->debug($c->request->address);
20 delete $c->session->{__address};
21 $c->res->output("logged in (without address)");
22}
23
064c3709 24sub logout : Global {
25 my ( $self, $c ) = @_;
26 $c->res->output(
27 "logged out after " . $c->session->{counter} . " requests" );
28 $c->delete_session("logout");
29}
30
601be17a 31sub do_redirect : Global {
a2e23c04 32 my ( $self, $c ) = @_;
33 # session is not deleted
601be17a 34 $c->res->redirect( $c->uri_for('page') );
a2e23c04 35}
36
064c3709 37sub set_session_variable : Global {
38 my ( $self, $c, $var, $val ) = @_;
39 $c->session->{$var} = $val;
40 $c->res->output("session variable set");
41}
42
43sub get_session_variable : Global {
44 my ( $self, $c, $var ) = @_;
45 my $val = $c->session->{$var} || 'n.a.';
46 $c->res->output("VAR_$var=$val");
47}
48
49sub get_sessid : Global {
50 my ( $self, $c ) = @_;
51 my $sid = $c->sessionid || 'n.a.';
52 $c->res->output("SID=$sid");
53}
54
55sub dump_session : Global {
56 my ( $self, $c ) = @_;
57 my $sid = $c->sessionid || 'n.a.';
58 my $dump = Dumper($c->session || 'n.a.');
59 $c->res->output("[SID=$sid]\n$dump");
60}
61
62sub change_sessid : Global {
63 my ( $self, $c ) = @_;
64 $c->change_session_id;
65 $c->res->output("session id changed");
66}
67
68sub page : Global {
69 my ( $self, $c ) = @_;
70 if ( $c->session_is_valid ) {
71 $c->res->output("you are logged in, session expires at " . $c->session_expires);
72 $c->session->{counter}++;
73 }
74 else {
75 $c->res->output("please login");
76 }
77}
78
79sub user_agent : Global {
80 my ( $self, $c ) = @_;
81 $c->res->output('UA=' . $c->req->user_agent);
82}
83
a491a59b 84sub accessor_test : Global {
85 my ( $self, $c ) = @_;
86
87 $c->session(
88 one => 1,
89 two => 2,
90 );
91
92 $c->session( {
93 three => 3,
94 four => 4,
95 },
96 );
97
98 $c->session->{five} = 5;
99
100 for my $key (keys %{ $c->session }) {
101 $c->res->write("$key: " . $c->session->{$key} . "\n");
102 }
103}
104
834ab0b8 105sub dump_these_loads_session : Global {
106 my ($self, $c) = @_;
107
108 $c->dump_these();
109 if ($c->_session) {
110 $c->res->write('LOADED')
111 }
112 else {
113 $c->res->write('NOT');
114 }
115}
116
601be17a 117sub change_session_expires : Global {
d32c2b5a 118 my ($self, $c) = @_;
601be17a 119 $c->change_session_expires(31536000);
d32c2b5a 120 $c->res->output($c->session_expires);
121}
122
064c3709 1231;