% my $kv = begin
% my ($key, $value) = @_;
<%= $key %>: |
<%= $value %> |
% end
% if (my $exception = stash 'exception') {
% my $cv = begin
% my ($key, $value, $i) = @_;
%= tag 'tr', $i ? (class => 'important') : (), begin
<%= $key %> |
<%= $value %>
|
% end
% end
<%= $exception->message %>
% for my $line (@{$exception->lines_before}) {
%= $cv->($line->[0], $line->[1])
% }
% if (defined $exception->line->[1]) {
%= $cv->($exception->line->[0], $exception->line->[1], 1)
% }
% for my $line (@{$exception->lines_after}) {
%= $cv->($line->[0], $line->[1])
% }
% if (defined $exception->line->[2]) {
% for my $line (@{$exception->lines_before}) {
%= $cv->($line->[0], $line->[2])
% }
%= $cv->($exception->line->[0], $exception->line->[2], 1)
% for my $line (@{$exception->lines_after}) {
%= $cv->($line->[0], $line->[2])
% }
tap for more
% }
% if (@{$exception->frames}) {
% for my $frame (@{$exception->frames}) {
<%= $frame->[1] . ':' . $frame->[2] %>
|
% }
tap for more
% }
% }
% else {
Page not found... yet!
None of these routes could generate a response for your
<%= $c->req->method %>
request for
<%= $c->req->url->path->to_route %>
, maybe you need
to add a new one?
% my $walk = begin
% my ($walk, $route, $depth) = @_;
% my $pattern = $route->pattern->unparsed || '/';
% $pattern = "+$pattern" if $depth;
<%= ' ' x $depth %><%= $pattern %>
|
<%= uc(join ',', @{$route->via || []}) || '*' %>
|
% my $name = $route->name;
<%= $route->has_custom_name ? qq{"$name"} : $name %>
|
% $depth++;
%= $walk->($walk, $_, $depth) for @{$route->children};
% $depth--;
% end
Pattern |
Methods |
Name |
%= $walk->($walk, $_, 0) for @{app->routes->children};
% }
% my $req = $c->req;
%= $kv->('Request ID' => $req->request_id)
%= $kv->(Method => $req->method)
% my $url = $req->url;
%= $kv->(URL => $url->to_string)
%= $kv->('Base URL' => $url->base->to_string)
%= $kv->(Parameters => dumper $req->params->to_hash)
%= $kv->(Stash => dumper $snapshot)
%= $kv->(Session => dumper session)
%= $kv->(Version => $req->version)
% for my $name (sort @{$c->req->headers->names}) {
% my $value = $c->req->headers->header($name);
%= $kv->($name, $value)
% }
%= $kv->(Perl => "$^V ($^O)")
% my $version = $Mojolicious::VERSION;
% my $codename = $Mojolicious::CODENAME;
%= $kv->(Mojolicious => "$version ($codename)")
%= $kv->(Home => app->home)
%= $kv->('Template paths' => dumper app->renderer->paths)
%= $kv->('Template classes' => dumper app->renderer->classes)
%= $kv->('Static paths' => dumper app->static->paths)
%= $kv->('Static classes' => dumper app->static->classes)
%= $kv->(Include => dumper \@INC)
%= $kv->(Config => dumper app->config)
%= $kv->(Moniker => app->moniker)
%= $kv->(Name => $0)
%= $kv->(Executable => $^X)
%= $kv->(PID => $$)
%= $kv->(Time => scalar localtime(time))
tap for more
% if (@{app->log->history}) {
% for my $msg (@{app->log->history}) {
<%= app->log->format->(@$msg) %>
|
% }
% }