Mercurial > pub > Impl
comparison Lib/IMPL/Web/Application.pm @ 52:15d720913562
security in work
author | wizard@linux-odin.local |
---|---|
date | Tue, 02 Mar 2010 20:12:02 +0300 |
parents | 16ada169ca75 |
children | bf59ee1cd506 |
comparison
equal
deleted
inserted
replaced
51:a1498298d3ee | 52:15d720913562 |
---|---|
4 | 4 |
5 use base qw(IMPL::Object IMPL::Object::Singleton); | 5 use base qw(IMPL::Object IMPL::Object::Singleton); |
6 use IMPL::Class::Property; | 6 use IMPL::Class::Property; |
7 | 7 |
8 BEGIN { | 8 BEGIN { |
9 public property RequestFactory => prop_all; | 9 public property handlerError => prop_all; |
10 public property ContextInitializers => prop_all; | |
11 } | 10 } |
12 | 11 |
13 # custom factory | 12 # custom factory |
14 sub new { | 13 sub new { |
15 my ($self,$file) = @_; | 14 my ($self,$file) = @_; |
19 | 18 |
20 sub Run { | 19 sub Run { |
21 my ($this) = @_; | 20 my ($this) = @_; |
22 | 21 |
23 while (my $request = $this->fetch_request()) { | 22 while (my $request = $this->fetch_request()) { |
24 my $context = $this->prepare_context($request); | 23 my $action = $this->prepare_action($request); |
25 $context->invoke($request); | 24 $action->invoke($request); |
26 } | 25 } |
27 } | 26 } |
28 | 27 |
29 1; | 28 1; |
29 | |
30 __END__ | |
30 | 31 |
31 =pod | 32 =pod |
32 | 33 |
33 =head1 SYNOPSIS | 34 =head1 SYNOPSIS |
34 | 35 |
36 MyApp->instance('app.config')->Run(); | 37 MyApp->instance('app.config')->Run(); |
37 | 38 |
38 =head1 DESCRIPTION | 39 =head1 DESCRIPTION |
39 | 40 |
40 Зкземпляр приложения содержит в себе глобальные настройки, реализует контроллер запросов, | 41 Зкземпляр приложения содержит в себе глобальные настройки, реализует контроллер запросов, |
42 в качестве источника запросов используется CGI или иной совместимый модуль. | |
41 | 43 |
42 Получая запрос из источника запросов, создает контекст выполнения запроса | 44 Процесс обработки запроса состоит из следующих частей |
43 затем выполняет запрос в указанном контексте. | |
44 | 45 |
45 Контекст формируется сначала из запроса, а затем посредством набора инициализаторов | 46 1. Получение cgi запроса |
47 2. Вызов модуля для инициализации объекта действия | |
48 3. Инициализация контекста выполнения | |
49 4. Выполнение запроса | |
50 5. Преобразование полученных данных в тело ответа | |
51 | |
52 | |
53 | |
46 | 54 |
47 =cut | 55 =cut |