Mercurial > pub > Impl
diff Lib/IMPL/Web/Handler/ErrorHandler.pm @ 230:6d8092d8ce1b
*reworked IMPL::Security
*reworked IMPL::Web::Security
*refactoring
author | sergey |
---|---|
date | Mon, 08 Oct 2012 03:37:37 +0400 |
parents | 47f77e6409f7 |
children | 3cebcf6fdb9b |
line wrap: on
line diff
--- a/Lib/IMPL/Web/Handler/ErrorHandler.pm Sat Sep 29 02:34:47 2012 +0400 +++ b/Lib/IMPL/Web/Handler/ErrorHandler.pm Mon Oct 08 03:37:37 2012 +0400 @@ -49,12 +49,14 @@ error => $err }; - my $code = 500; + my $status = "500 Internal Server Error"; if (eval { $err->isa(WebException) }) { - ($code) = ($err->status =~ m/^(\d+)/); + $status = $err->status; } + my ($code) = ($status =~ m/^(\d+)/); + my $doc = $this->loader->document( $this->errors->{$code} || $this->fallback, $vars @@ -63,10 +65,10 @@ my $text = $doc->Render($vars); $result = HttpResponse->new( - status => $err->status, + status => $status, type => $this->contentType, charset => 'utf-8', - headers => $err->headers, + headers => eval{ $err->headers } || {}, body => $text ); }