comparison Lib/IMPL/Web/Application/Action.pm @ 180:d1676be8afcc

Перекодировка в utf-8
author sourcer
date Fri, 30 Dec 2011 23:40:00 +0300
parents aaab45153411
children 4d0e1962161c
comparison
equal deleted inserted replaced
179:b3d91ff7aea9 180:d1676be8afcc
118 118
119 =pod 119 =pod
120 120
121 =head1 NAME 121 =head1 NAME
122 122
123 C<IMPL::Web::Application::Action> - C<CGI> . 123 C<IMPL::Web::Application::Action> - Обертка вокруг C<CGI> запроса.
124 124
125 =head1 DESCRIPTION 125 =head1 DESCRIPTION
126 126
127 C<[Infrastructure]> 127 C<[Infrastructure]>
128 128
129 . 129 Определяет порядок выполнения запроса. Запрос выполняется последовательным вызовом
130 , . 130 цепочки обработчиков, при этом обработчики сами вызывают следующие.
131 , . 131 Обработчики выполняются в порядке, обратном их добавлению.
132 132
133 , 133 Типичная цепочка может быть такой, в порядке добавления
134 134
135 =begin code 135 =begin code
136 136
137 IMPL::Web::QueryHandler::SecCallToMethod 137 IMPL::Web::QueryHandler::SecCallToMethod
138 IMPL::Web::QueryHandler::AuthenticateCookie 138 IMPL::Web::QueryHandler::AuthenticateCookie
139 IMPL::Web::QueryHandler::PageFormat 139 IMPL::Web::QueryHandler::PageFormat
140 140
141 =end code 141 =end code
142 142
143 143 что приведет к следующей последовательности
144 144
145 =begin code 145 =begin code
146 146
147 # the application creates a new Action object 147 # the application creates a new Action object
148 148
205 } 205 }
206 } 206 }
207 207
208 =end code 208 =end code
209 209
210 210 или как альтернатива может быть еще
211 211
212 =begin code 212 =begin code
213 213
214 IMPL::Web::QueryHandler::SecCallToMethod 214 IMPL::Web::QueryHandler::SecCallToMethod
215 IMPL::Web::QueryHandler::AuthenticateCookie 215 IMPL::Web::QueryHandler::AuthenticateCookie
217 IMLP::Web::QueryHandler::JSONFormat 217 IMLP::Web::QueryHandler::JSONFormat
218 218
219 219
220 =end code 220 =end code
221 221
222 , 222 В данной цепочке также происходит вызов метода, но его результат потом преобразуется
223 JSON . 223 в простые структуры и передается JSON преобразователю. Таким образом модулю логики
224 , . 224 не требуется знать о выходном формате, всю работу проделают дополнительные фильтры.
225 225
226 =head1 MEMBERS 226 =head1 MEMBERS
227 227
228 =head2 PROPERTIES 228 =head2 PROPERTIES
229 229
230 =over 230 =over
231 231
232 =item C< [get] application> 232 =item C< [get] application>
233 233
234 234 Экземпляр приложения создавшего текущий объект
235 235
236 =item C< [get] query > 236 =item C< [get] query >
237 237
238 C<CGI> 238 Экземпляр C<CGI> запроса
239 239
240 =item C< [get] response > 240 =item C< [get] response >
241 241
242 C<CGI> C<IMPL::Web::Application::Response> 242 Ответ на C<CGI> заспрос C<IMPL::Web::Application::Response>
243 243
244 =item C< [get] responseFactory > 244 =item C< [get] responseFactory >
245 245
246 , 246 Фабрика ответов на запрос, используется для создания нового ответа
247 C<IMPL::Web::Application::Action>, 247 либо при конструировании текущего объекта C<IMPL::Web::Application::Action>,
248 C<ReinitResponse> . 248 либо при вызове метода C<ReinitResponse> у текущего объекта.
249 249
250 C<IMPL::Web::Application::Response> 250 По умолчанию имеет значение C<IMPL::Web::Application::Response>
251 251
252 =back 252 =back
253 253
254 =head2 METHODS 254 =head2 METHODS
255 255
256 =over 256 =over
257 257
258 =item C< ReinitResponse() > 258 =item C< ReinitResponse() >
259 259
260 C<response> . 260 Отмена старого ответа C<response> и создание вместо него нового.
261 261
262 , 262 Данная операция обычно проводится при обработке ошибок, когда
263 . , 263 уже сформированный ответ требуется отменить. Следует заметить,
264 , 264 что эта операция не возможна, если ответ частично или полностью
265 . C<IMPL::InvalidOperationException>. 265 отправлен клиенту. Тогда возникает исключение C<IMPL::InvalidOperationException>.
266 266
267 =item C< ChainHandler($handler) > 267 =item C< ChainHandler($handler) >
268 268
269 . , 269 Добавляет новый обработчик в цепочку. Выполнение цепочки начинается с конца,
270 . 270 тоесть последний добавленный будет выполнен первым.
271 271
272 =back 272 =back
273 273
274 =head1 HANDLERS 274 =head1 HANDLERS
275 275
277 277
278 =over 278 =over
279 279
280 =item CODE ref 280 =item CODE ref
281 281
282 , 282 Ссылка на процедуру может являться обработчиком, при этом функция будет вызвана с
283 : action , . 283 двумя параметрами: ссылкой на action объект, и точкой входа следующего обработчика.
284 284
285 =item Method Name 285 =item Method Name
286 286
287 , . action 287 Имя метода, передается в виде строки. У текущего объекта action ищется метод с
288 , 288 указанным именем, после чего используется ссылка на этот метод для вызова с двумя
289 : action , . 289 параметрами: ссылкой на action объект, и точкой входа следующего обработчика.
290 290
291 C<< $action->MethodName($nextHandler) >>; 291 Получается вызов идентичный следующему C<< $action->MethodName($nextHandler) >>;
292 292
293 =back 293 =back
294 294
295 =head2 C< IMPL::Web::QueryHandler > 295 =head2 C< IMPL::Web::QueryHandler >
296 296
297 C< IMPL::Web::QueryHandler > 297 Любой объект наследованный от C< IMPL::Web::QueryHandler > может быть
298 298 использован в качестве обработчика запроса
299 299
300 =cut 300 =cut