comparison Lib/IMPL/Web/Handler/ErrorHandler.pm @ 402:b79081b70a7a

fixed error handler templates env
author cin
date Mon, 19 May 2014 18:33:52 +0400
parents 38cb0b80e88e
children
comparison
equal deleted inserted replaced
401:16ff604298c7 402:b79081b70a7a
6 use IMPL::declare { 6 use IMPL::declare {
7 require => { 7 require => {
8 WebException => 'IMPL::Web::Exception', 8 WebException => 'IMPL::Web::Exception',
9 ArgumentException => '-IMPL::InvalidArgumentException', 9 ArgumentException => '-IMPL::InvalidArgumentException',
10 IOException => '-IMPL::IOException', 10 IOException => '-IMPL::IOException',
11 HttpResponse => 'IMPL::Web::HttpResponse' 11 HttpResponse => 'IMPL::Web::HttpResponse',
12 Security => 'IMPL::Security'
12 }, 13 },
13 base => { 14 base => {
14 'IMPL::Object' => undef, 15 'IMPL::Object' => undef,
15 'IMPL::Object::Autofill' => '@_', 16 'IMPL::Object::Autofill' => '@_',
16 'IMPL::Object::Serializable' => undef 17 'IMPL::Object::Serializable' => undef
43 }; 44 };
44 45
45 if (my $err = $@) { 46 if (my $err = $@) {
46 47
47 my $vars = { 48 my $vars = {
48 error => $err 49 error => $err,
50 result => $result,
51 request => sub { $action },
52 app => $action->application,
53 location => $action->context->{resourceLocation},
54 resource => $action->context->{resource},
55 document => {},
56 session => sub { Security->context },
57 user => sub { Security->principal },
58 security => sub { $action->security }
49 }; 59 };
50 60
51 my $status = "500 Internal Server Error"; 61 my $status = "500 Internal Server Error";
52 62
53 if (eval { $err->isa(WebException) }) { 63 if (eval { $err->isa(WebException) }) {