| CatalystX-Controller-Sugar-ActionPack documentation | Contained in the CatalystX-Controller-Sugar-ActionPack distribution. |
CatalystX::Controller::Sugar::ActionPack::Error - Action for error pages
Used to server custom error pages, which the webapp dispatch to.
This hash holds a mapping between the error template and the response status. See the source code for a sample of default templates.
go '/error' => [$template, $message];
Show error message, and set HTTP response status. Supported status: See
%ERROR_STATUS.
Affected stash variables:
{
template => "error/$template.tt",
title => "error - $status_code",
error_message => $message,
}
| CatalystX-Controller-Sugar-ActionPack documentation | Contained in the CatalystX-Controller-Sugar-ActionPack distribution. |
package CatalystX::Controller::Sugar::ActionPack::Error;
use Moose; use CatalystX::Controller::Sugar::Plugin; use CatalystX::Controller::Sugar::ActionPack::Default;
our %ERROR_STATUS = ( bad_request => 400, fallback => 500, internal => 500, method_not_allowed => 405, no_content => 404, not_found => 404, unauthorized => 401, undefined_user => 404, );
chain error => sub { my $error_id = shift || 'fallback'; my $msg = shift || ''; my $status = $ERROR_STATUS{$error_id} || 500; my $template = CatalystX::Controller::Sugar::ActionPack::Default::_find_template("error/$error_id"); unless($template) { report error => 'Could not find error template: %s', $error_id if c->debug; $template = 'error/fallback.tt'; } stash template => $template; stash title => "error - $status"; stash error_message => $msg; res->status($status); };
1;