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