Mercurial > pub > Impl
comparison Lib/IMPL/Web/Application.pm @ 339:97628101b765
refactoring: application now holds a security object factory rather than a security object
author | cin |
---|---|
date | Wed, 19 Jun 2013 03:25:44 +0400 |
parents | 63709a4e6da0 |
children | ec58c47edb52 |
comparison
equal
deleted
inserted
replaced
338:c78dfbe658bd | 339:97628101b765 |
---|---|
60 my $action = $this->actionFactory->new( | 60 my $action = $this->actionFactory->new( |
61 query => $q, | 61 query => $q, |
62 application => $this, | 62 application => $this, |
63 ); | 63 ); |
64 | 64 |
65 $this->BeforeProcessRequest($action); | |
66 | |
67 eval { | 65 eval { |
68 my $result = $handler->($action); | 66 my $result = $handler->($action); |
69 | 67 |
70 die InvalidOperationException->new("Invalid handlers result. A reference to IMPL::Web::HttpResponse is expexted.") | 68 die InvalidOperationException->new("Invalid handlers result. A reference to IMPL::Web::HttpResponse is expexted.") |
71 unless eval { $result->isa(HttpResponse) }; | 69 unless eval { $result->isa(HttpResponse) }; |
72 | 70 |
73 $result->PrintResponse( $this->output ); | 71 $result->PrintResponse( $this->output ); |
74 }; | 72 }; |
75 | 73 |
76 $this->AfterProcessRequest($action); | 74 $action->Dispose(); |
75 | |
77 if ($@) { | 76 if ($@) { |
78 my $e = $@; | 77 my $e = $@; |
79 | 78 |
80 HttpResponse->InternalError( | 79 HttpResponse->InternalError( |
81 type => 'text/plain', | 80 type => 'text/plain', |
130 die new IMPL::InvalidArgumentException( "An invalid handler supplied", | 129 die new IMPL::InvalidArgumentException( "An invalid handler supplied", |
131 $handler ); | 130 $handler ); |
132 } | 131 } |
133 } | 132 } |
134 | 133 |
135 sub BeforeProcessRequest { | |
136 | |
137 } | |
138 | |
139 sub AfterProcessRequest { | |
140 | |
141 } | |
142 | |
143 1; | 134 1; |
144 | 135 |
145 __END__ | 136 __END__ |
146 | 137 |
147 =pod | 138 =pod |