Commit | Line | Data |
064c3709 |
1 | package FlashTestApp::Controller::Root; |
2 | use strict; |
3 | use warnings; |
4 | use Data::Dumper; |
5 | |
6 | use base qw/Catalyst::Controller/; |
7 | |
8 | __PACKAGE__->config( namespace => '' ); |
9 | |
10 | no warnings 'uninitialized'; |
11 | |
12 | sub default : Private { |
13 | my ($self, $c) = @_; |
14 | $c->session; |
15 | } |
16 | |
17 | sub first : Global { |
18 | my ( $self, $c ) = @_; |
19 | if ( ! $c->flash->{is_set}) { |
20 | $c->stash->{message} = "flash is not set"; |
21 | $c->flash->{is_set} = 1; |
22 | } |
23 | } |
24 | |
25 | sub second : Global { |
26 | my ( $self, $c ) = @_; |
27 | if ($c->flash->{is_set} == 1){ |
28 | $c->stash->{message} = "flash set first time"; |
29 | $c->flash->{is_set}++; |
30 | } |
31 | } |
32 | |
33 | sub third : Global { |
34 | my ( $self, $c ) = @_; |
35 | if ($c->flash->{is_set} == 2) { |
36 | $c->stash->{message} = "flash set second time"; |
37 | $c->keep_flash("is_set"); |
38 | } |
39 | } |
40 | |
41 | sub fourth : Global { |
42 | my ( $self, $c ) = @_; |
43 | if ($c->flash->{is_set} == 2) { |
44 | $c->stash->{message} = "flash set 3rd time, same val as prev." |
45 | } |
46 | } |
47 | |
48 | sub fifth : Global { |
49 | my ( $self, $c ) = @_; |
50 | $c->forward('/first'); |
51 | } |
52 | |
53 | sub end : Private { |
54 | my ($self, $c) = @_; |
55 | $c->res->output($c->stash->{message}); |
56 | } |
57 | |
58 | 1; |