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