X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Flib%2FSessionTestApp%2FController%2FRoot.pm;fp=t%2Flib%2FSessionTestApp%2FController%2FRoot.pm;h=948adc662ae65dd6855ee598a6e68ffea5e6e21e;hb=064c3709e9bb8f435964fe9bf06b169db710e40d;hp=0000000000000000000000000000000000000000;hpb=6945eb54145ce4c3098ace9ab1fe8aedeebaa133;p=catagits%2FCatalyst-Plugin-Session.git diff --git a/t/lib/SessionTestApp/Controller/Root.pm b/t/lib/SessionTestApp/Controller/Root.pm new file mode 100644 index 0000000..948adc6 --- /dev/null +++ b/t/lib/SessionTestApp/Controller/Root.pm @@ -0,0 +1,70 @@ +package SessionTestApp::Controller::Root; +use strict; +use warnings; +use Data::Dumper; + +use base qw/Catalyst::Controller/; + +__PACKAGE__->config( namespace => '' ); + +sub login : Global { + my ( $self, $c ) = @_; + $c->session; + $c->res->output("logged in"); +} + +sub logout : Global { + my ( $self, $c ) = @_; + $c->res->output( + "logged out after " . $c->session->{counter} . " requests" ); + $c->delete_session("logout"); +} + +sub set_session_variable : Global { + my ( $self, $c, $var, $val ) = @_; + $c->session->{$var} = $val; + $c->res->output("session variable set"); +} + +sub get_session_variable : Global { + my ( $self, $c, $var ) = @_; + my $val = $c->session->{$var} || 'n.a.'; + $c->res->output("VAR_$var=$val"); +} + +sub get_sessid : Global { + my ( $self, $c ) = @_; + my $sid = $c->sessionid || 'n.a.'; + $c->res->output("SID=$sid"); +} + +sub dump_session : Global { + my ( $self, $c ) = @_; + my $sid = $c->sessionid || 'n.a.'; + my $dump = Dumper($c->session || 'n.a.'); + $c->res->output("[SID=$sid]\n$dump"); +} + +sub change_sessid : Global { + my ( $self, $c ) = @_; + $c->change_session_id; + $c->res->output("session id changed"); +} + +sub page : Global { + my ( $self, $c ) = @_; + if ( $c->session_is_valid ) { + $c->res->output("you are logged in, session expires at " . $c->session_expires); + $c->session->{counter}++; + } + else { + $c->res->output("please login"); + } +} + +sub user_agent : Global { + my ( $self, $c ) = @_; + $c->res->output('UA=' . $c->req->user_agent); +} + +1;