#!/usr/bin/env perl use Mojolicious::Lite; # Helpers = in app extensions helper auth => sub { my $self = shift; return 1 if $self->param('username') eq 'bender' and $self->param('password') eq 'rodriguez'; }; get '/login' => sub { shift->render('login') }; post '/momcorp' => sub { my $self = shift; $self->render(text => 'denied') if !$self->auth; $self->render(text => 'Welcome to Momcorp!'); }; post '/momcorp/carol' => sub { my $self=shift; $self->render(text => 'denied') if !$self->auth; $self->render(text => 'Welcome, Carol!'); }; app->start; __DATA__ @@ login.html.ep
##
#!/usr/bin/env perl
use Mojolicious::Lite;
# Helpers = in app extensions
helper auth => sub {
my $self = shift;
return 1 if
$self->param('username') eq 'bender' and
$self->param('password') eq 'rodriguez';
};
get '/login' => sub { shift->render('login') };
# Under: protects actions listed underneath the under
# Modify behavior of any action under...
# if returns true actions under can be matched
# false, they are inaccessible
# removes duplicate code :)
under sub {
my $self = shift;
return 1 if $self->auth;
$self->render(text => 'denied');
return;
};
post '/momcorp' => sub { shift->render(text => 'Welcome to Momcorp!') };
post '/momcorp/carol' => sub { shift->render(text => 'Welcome, Carol!') };
app->start;
__DATA__
@@ login.html.ep
%= t h1 => 'Login'
%= form_for '/momcorp' => (method => 'post') => begin
Username: <%= text_field 'username' %>
Password: <%= text_field 'password' %>
%= submit_button 'Log In'
%= end