Mercurial > pub > Impl
comparison Lib/IMPL/Web/Application.pm @ 65:2840c4c85db8
Application configuration improvements
Documentation
| author | wizard |
|---|---|
| date | Tue, 16 Mar 2010 17:36:13 +0300 |
| parents | 76b878ad6596 |
| children | 9f5795a10939 |
comparison
equal
deleted
inserted
replaced
| 64:259cd3df6e53 | 65:2840c4c85db8 |
|---|---|
| 14 | 14 |
| 15 BEGIN { | 15 BEGIN { |
| 16 public property handlerError => prop_all; | 16 public property handlerError => prop_all; |
| 17 public property factoryAction => prop_all; | 17 public property factoryAction => prop_all; |
| 18 public property handlersQuery => prop_all | prop_list; | 18 public property handlersQuery => prop_all | prop_list; |
| 19 public property responseCharset => prop_all; | |
| 19 public property options => prop_all; | 20 public property options => prop_all; |
| 20 } | 21 } |
| 21 | 22 |
| 22 # custom factory | 23 # custom factory |
| 23 sub new { | 24 sub new { |
| 28 | 29 |
| 29 sub CTOR { | 30 sub CTOR { |
| 30 my ($this) = @_; | 31 my ($this) = @_; |
| 31 | 32 |
| 32 $this->factoryAction('IMPL::Web::Application::Action') unless $this->factoryAction; | 33 $this->factoryAction('IMPL::Web::Application::Action') unless $this->factoryAction; |
| 34 $this->responseCharset('utf-8') unless $this->responseCharset; | |
| 33 } | 35 } |
| 34 | 36 |
| 35 sub Run { | 37 sub Run { |
| 36 my ($this) = @_; | 38 my ($this) = @_; |
| 37 | 39 |
| 38 while (my $query = $this->FetchRequest()) { | 40 while (my $query = $this->FetchRequest()) { |
| 39 | 41 |
| 40 # todo: move a creation of the response to the ActionClass | |
| 41 my $action = $this->factoryAction->new( | 42 my $action = $this->factoryAction->new( |
| 42 query => $query, | 43 query => $query, |
| 43 response => new IMPL::Web::Application::Response(query => $query), | |
| 44 application => $this, | 44 application => $this, |
| 45 ); | 45 ); |
| 46 | |
| 47 $action->response->charset($this->responseCharset); | |
| 46 | 48 |
| 47 $action->ChainHandler($_) foreach $this->handlersQuery; | 49 $action->ChainHandler($_) foreach $this->handlersQuery; |
| 48 | 50 |
| 49 $action->Invoke(); | 51 $action->Invoke(); |
| 50 | 52 |
