Mercurial > pub > Impl
comparison Lib/IMPL/Web/Application.pm @ 213:d6e2ea24af08
sync
author | sergey |
---|---|
date | Fri, 03 Aug 2012 01:15:15 +0400 |
parents | 2ffe6f661605 |
children | 47f77e6409f7 |
comparison
equal
deleted
inserted
replaced
212:292226770180 | 213:d6e2ea24af08 |
---|---|
17 'IMPL::Object::Singleton' => '@_' | 17 'IMPL::Object::Singleton' => '@_' |
18 } | 18 } |
19 }; | 19 }; |
20 | 20 |
21 BEGIN { | 21 BEGIN { |
22 public property handlerError => PROP_ALL; | 22 public property errorHandler => PROP_ALL; |
23 public property actionFactory => PROP_ALL; | 23 public property actionFactory => PROP_ALL; |
24 public property handlers => PROP_ALL | PROP_LIST; | 24 public property handlers => PROP_ALL | PROP_LIST; |
25 public property responseCharset => PROP_ALL; | 25 public property responseCharset => PROP_ALL; |
26 public property security => PROP_ALL; | 26 public property security => PROP_ALL; |
27 public property options => PROP_ALL; | 27 public property options => PROP_ALL; |
42 die IMPL::InvalidArgumentException->new("handlers","At least one handler should be supplied") unless $this->handlers->Count; | 42 die IMPL::InvalidArgumentException->new("handlers","At least one handler should be supplied") unless $this->handlers->Count; |
43 | 43 |
44 $this->actionFactory(TAction) unless $this->actionFactory; | 44 $this->actionFactory(TAction) unless $this->actionFactory; |
45 $this->responseCharset('utf-8') unless $this->responseCharset; | 45 $this->responseCharset('utf-8') unless $this->responseCharset; |
46 $this->fetchRequestMethod(\&defaultFetchRequest) unless $this->fetchRequestMethod; | 46 $this->fetchRequestMethod(\&defaultFetchRequest) unless $this->fetchRequestMethod; |
47 $this->handlerError(\&defaultHandlerError) unless $this->handlerError; | 47 $this->errorHandler(\&defaultErrorHandler) unless $this->errorHandler; |
48 } | 48 } |
49 | 49 |
50 sub Run { | 50 sub Run { |
51 my ($this) = @_; | 51 my ($this) = @_; |
52 | 52 |
69 $action->response->Complete; | 69 $action->response->Complete; |
70 }; | 70 }; |
71 if ($@) { | 71 if ($@) { |
72 my $e = $@; | 72 my $e = $@; |
73 # we are expecting this method to be safe otherwise we can trust nothing in this wolrd | 73 # we are expecting this method to be safe otherwise we can trust nothing in this wolrd |
74 $this->handlerError()->($this,$action,$e); | 74 $this->errorHandler()->($this,$action,$e); |
75 } | 75 } |
76 } | 76 } |
77 } | 77 } |
78 | 78 |
79 sub _ChainHandler { | 79 sub _ChainHandler { |
136 $query->charset($this->responseCharset); | 136 $query->charset($this->responseCharset); |
137 return $query; | 137 return $query; |
138 } | 138 } |
139 } | 139 } |
140 | 140 |
141 sub defaultHandlerError { | 141 sub defaultErrorHandler { |
142 my ($this,$action,$e) = @_; | 142 my ($this,$action,$e) = @_; |
143 warn $e; | 143 warn $e; |
144 if ( eval { $action->ReinitResponse(); 1; } ) { | 144 if ( eval { $action->ReinitResponse(); 1; } ) { |
145 $action->response->contentType('text/plain'); | 145 $action->response->contentType('text/plain'); |
146 $action->response->charset($this->responseCharset); | 146 $action->response->charset($this->responseCharset); |
206 | 206 |
207 =end code | 207 =end code |
208 | 208 |
209 =head1 DESCRIPTION | 209 =head1 DESCRIPTION |
210 | 210 |
211 C< use parent qw( IMPL::Config IMPL::Object::Singleton )> | 211 C< inherits IMPL::Config, IMPL::Object::Singleton > |
212 | 212 |
213 Зкземпляр приложения содержит в себе глобальные настройки, реализует контроллер запросов, | 213 Зкземпляр приложения содержит в себе глобальные настройки, реализует контроллер запросов, |
214 в качестве источника запросов используется CGI или иной совместимый модуль. | 214 в качестве источника запросов используется CGI или иной совместимый модуль. |
215 | 215 |
216 Процесс обработки запроса состоит из следующих частей | 216 Процесс обработки запроса состоит из следующих частей |
308 | 308 |
309 =head1 MEMBERS | 309 =head1 MEMBERS |
310 | 310 |
311 =over | 311 =over |
312 | 312 |
313 =item C<[get,set] handlerError> | 313 =item C<[get,set] errorHandler> |
314 | 314 |
315 Обработчик который будет вызван в случае возникновения необработанной ошибки | 315 Обработчик который будет вызван в случае возникновения необработанной ошибки |
316 в процессе работы приложения. После чего приложение корректно завершается. | 316 в процессе работы приложения. После чего приложение корректно завершается. |
317 | 317 |
318 =item C<[get,set] actionFactory> | 318 =item C<[get,set] actionFactory> |