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 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
|
package MojoliciousTest::Foo;
use Mojo::Base 'Mojolicious::Controller';
# "If you're programmed to jump off a bridge, would you do it?
# Let me check my program... Yep."
sub authenticated {
my $self = shift;
$self->render(text => $self->stash('action'));
}
sub config {
my $self = shift;
$self->render_text($self->stash('config')->{test});
}
sub fun { shift->render(text => 'Have fun!') }
sub index {
my $self = shift;
$self->layout('default');
$self->stash(handler => 'xpl', msg => 'Hello World!');
}
sub plugin_camel_case {
my $self = shift;
$self->render_text($self->some_plugin);
}
sub plugin_upper_case {
my $self = shift;
$self->render_text($self->upper_case_test_plugin);
}
sub session_domain {
my $self = shift;
$self->session(user => 'Bender');
$self->render_text('Bender rockzzz!');
}
sub something {
my $self = shift;
$self->res->headers->header('X-Bender' => 'Bite my shiny metal ass!');
$self->render_text($self->url_for('something', something => '42'));
}
sub stage1 {
my $self = shift;
# Authenticated
return 1 if $self->req->headers->header('X-Pass');
# Fail
$self->render_text('Go away!');
return;
}
sub stage2 {
my $self = shift;
$self->render_text($self->some_plugin);
}
sub syntaxerror { shift->render('syntaxerror', format => 'html') }
sub templateless { shift->render(handler => 'test') }
sub test {
my $self = shift;
$self->res->headers->header('X-Bender' => 'Bite my shiny metal ass!');
$self->render_text($self->url_for(controller => 'bar'));
}
sub url_for_missing {
my $self = shift;
$self->render_text($self->url_for('does_not_exist', something => '42'));
}
sub willdie { die 'for some reason' }
sub withblock { shift->render(template => 'withblock') }
sub withlayout { shift->stash(template => 'withlayout') }
1;
__DATA__
@@ just/some/template.html.epl
Development template with high precedence.
@@ some/static/file.txt
Development static file with high precedence.
|