Catalyst-Runtime
view release on metacpan or search on metacpan
lib/Catalyst/Engine.pm view on Meta::CPAN
my $name = ref($c)->config->{name} || join(' ', split('::', ref $c));
# Prevent Catalyst::Plugin::Unicode::Encoding from running.
# This is a little nasty, but it's the best way to be clean whether or
# not the user has an encoding plugin.
if ($c->can('encoding')) {
$c->{encoding} = '';
}
my ( $title, $error, $infos );
if ( $c->debug ) {
# For pretty dumps
$error = join '', map {
'<p><code class="error">'
. encode_entities($_)
. '</code></p>'
} @{ $c->error };
$error ||= 'No output';
$error = qq{<pre wrap="">$error</pre>};
$title = $name = "$name on Catalyst $Catalyst::VERSION";
$name = "<h1>$name</h1>";
# Don't show context in the dump
$c->res->_clear_context;
# Don't show body parser in the dump
$c->req->_clear_body;
my @infos;
my $i = 0;
for my $dump ( $c->dump_these ) {
push @infos, $self->_dump_error_page_element($i, $dump);
$i++;
}
$infos = join "\n", @infos;
}
else {
$title = $name;
$error = '';
$infos = <<"";
<pre>
(en) Please come back later
(fr) SVP veuillez revenir plus tard
(de) Bitte versuchen sie es spaeter nocheinmal
(at) Konnten's bitt'schoen spaeter nochmal reinschauen
(no) Vennligst prov igjen senere
(dk) Venligst prov igen senere
(pl) Prosze sprobowac pozniej
(pt) Por favor volte mais tarde
(ru) ÐопÑобÑйÑе еÑе Ñаз позже
(ua) СпÑобÑйÑе Ñе Ñаз пÑзнÑÑе
(it) Per favore riprova più tardi
(cs) VraÅ¥te se prosÃm pozdÄji
</pre>
$name = '';
}
$c->res->body( <<"" );
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Language" content="en" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>$title</title>
<script type="text/javascript">
<!--
function toggleDump (dumpElement) {
var e = document.getElementById( dumpElement );
if (e.style.display == "none") {
e.style.display = "";
}
else {
e.style.display = "none";
}
}
-->
</script>
<style type="text/css">
body {
font-family: "Bitstream Vera Sans", "Trebuchet MS", Verdana,
Tahoma, Arial, helvetica, sans-serif;
color: #333;
background-color: #eee;
margin: 0px;
padding: 0px;
}
:link, :link:hover, :visited, :visited:hover {
color: #000;
}
div.box {
position: relative;
background-color: #ccc;
border: 1px solid #aaa;
padding: 4px;
margin: 10px;
}
div.error {
background-color: #cce;
border: 1px solid #755;
padding: 8px;
margin: 4px;
margin-bottom: 10px;
}
div.infos {
background-color: #eee;
border: 1px solid #575;
padding: 8px;
margin: 4px;
margin-bottom: 10px;
}
div.name {
background-color: #cce;
border: 1px solid #557;
padding: 8px;
margin: 4px;
}
code.error {
display: block;
( run in 0.856 second using v1.01-cache-2.11-cpan-d0baa829c65 )