comparison Lib/IMPL/Web/Application/Response.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
12 use IMPL::Class::Property; 12 use IMPL::Class::Property;
13 13
14 #todo: add binary method to set a binary encoding, set it automatic when type isn't a text 14 #todo: add binary method to set a binary encoding, set it automatic when type isn't a text
15 15
16 BEGIN { 16 BEGIN {
17 # 17 # автозаполнение буде происходить в порядке объявления
18 public property query => prop_get | owner_set; # cgi query 18 public property query => prop_get | owner_set; # cgi query
19 public property status => prop_all, { validator => \&_checkHeaderPrinted }; 19 public property status => prop_all, { validator => \&_checkHeaderPrinted };
20 public property contentType => prop_all, { validator => \&_checkHeaderPrinted }; # String 20 public property contentType => prop_all, { validator => \&_checkHeaderPrinted }; # String
21 public property charset => { get => \&_charset, set => \&_charset }, { validator => \&_checkHeaderPrinted }; 21 public property charset => { get => \&_charset, set => \&_charset }, { validator => \&_checkHeaderPrinted };
22 public property expires => prop_all, { validator => \&_checkHeaderPrinted }; 22 public property expires => prop_all, { validator => \&_checkHeaderPrinted };
190 190
191 =pod 191 =pod
192 192
193 =head1 NAME 193 =head1 NAME
194 194
195 C<IMPL::Web::Application::Response> - . 195 C<IMPL::Web::Application::Response> - Ответ веб сервера непосредственно клиенту.
196 196
197 =head1 DESCRIPTION 197 =head1 DESCRIPTION
198 198
199 C<[Infrastructure]> 199 C<[Infrastructure]>
200 200
201 . 201 Позволяет сформировать основные свойства заголовка и тело ответа.
202 202
203 C<IMPL::Web::Application::Action> . 203 Создается объектом C<IMPL::Web::Application::Action> в процессе обработки запроса.
204 204
205 C<IMPL::Web::QueryHandler> . 205 Может использоваться обработчиками C<IMPL::Web::QueryHandler> в процессе выполнения запроса.
206 206
207 , 207 Объект позволяет буфферизировать вывод в тело ответа, что позволяет отменить или изменить
208 . C< isHeaderPrinted > 208 ответ в последний момент. Свойство C< isHeaderPrinted > используется для определения факта
209 . 209 отправлки данных клиенту.
210 210
211 =head1 PROPERTIES 211 =head1 PROPERTIES
212 212
213 =head2 HTTP Header 213 =head2 HTTP Header
214 214
215 HTTP . 215 Свойства отвечающие за заголовок HTTP ответа. Эти своства могут быть изменены до тех пор пока
216 . C< IMPL::InvalidOperationException >. 216 не будет отправлен заголовок. В противном случае выдается исключение C< IMPL::InvalidOperationException >.
217 217
218 =over 218 =over
219 219
220 =item C< [get] query > 220 =item C< [get] query >
221 221
222 CGI , , . . 222 CGI запрос, который используется для вывода данных, заголовка и пр. Существует всегда.
223 223
224 =item C< [get,set] status > 224 =item C< [get,set] status >
225 225
226 HTTP. , '200 OK'. , '200 '. 226 Код ошибки HTTP. Например, '200 OK'. По умолчанию не установлен, при отправке клиенту бедт отправлен '200 ОК'.
227 227
228 =item C< [get,set] contentType > 228 =item C< [get,set] contentType >
229 229
230 MIME. , 'text/html'. 230 Тип MIME. По умолчанию не установлен, подразумивается 'text/html'.
231 231
232 =item C< [get,set] charset > 232 =item C< [get,set] charset >
233 233
234 , query->charset. 234 Кодировка, синоним свойства query->charset.
235 235
236 =item C< [get,set] expires > 236 =item C< [get,set] expires >
237 237
238 , '+10m'. . 238 Определяет время жизни контента, например '+10m'. По умолчанию не задано и не передается.
239 239
240 =item C< [get,set] cookies > 240 =item C< [get,set] cookies >
241 241
242 cookies, C< { cart => ['foo','bar'], display => 'list' } >. 242 Хеш массив с cookies, например C< { cart => ['foo','bar'], display => 'list' } >.
243 243
244 =back 244 =back
245 245
246 =head2 Response behaviour 246 =head2 Response behaviour
247 247
248 . 248 Свойства отвечающие за поведение ответа.
249 249
250 =over 250 =over
251 251
252 =item C< [get,set] buffered > 252 =item C< [get,set] buffered >
253 253
254 C< True > - C< Complete >, 254 C< True > - то тело ответа пишется в буффер и будет отправлено при вызове метода C< Complete >,
255 C< Complete >. 255 заголовок также будет отправлен после вызова метода C< Complete >.
256 256
257 C< False > - , 257 C< False > - тело ответа пишется непосредственно в поток к клиенту, при этом заголовок
258 C< streamBody > 258 будет отправлен при первом обращении к свойству C< streamBody >
259 259
260 . 260 Это свойство можно менять до первого обращения к потоку для записи в тело ответа.
261 261
262 =item C< [get] streamOut > 262 =item C< [get] streamOut >
263 263
264 CGI . 264 Стандартный вывод CGI приложения.
265 265
266 =item C< [get] streamBody > 266 =item C< [get] streamBody >
267 267
268 . 268 Поток для записи в тело ответа.
269 269
270 =item C< [get] isHeaderPrinted > 270 =item C< [get] isHeaderPrinted >
271 271
272 , . 272 Признак того, что заголовок уже был отправлен клиенту.
273 273
274 =back 274 =back
275 275
276 =head1 METHODS 276 =head1 METHODS
277 277
278 =over 278 =over
279 279
280 =item C< Complete > 280 =item C< Complete >
281 281
282 . 282 Завершает отправку ответа.
283 283
284 =item C< Discard > 284 =item C< Discard >
285 285
286 , (, ) 286 Отменяет отправку ответа, при этом если часть данных (например, заголовок)
287 , STDERR. 287 уже была отправлена, выдает предупреждение в STDERR.
288 288
289 =back 289 =back
290 290
291 =head1 REMARKS 291 =head1 REMARKS
292 292
293 , .. 293 Данный объект является автозаполняемым, т.е. все его свойства можно задать через
294 . 294 именованные параметры конструктора.
295 295
296 =cut 296 =cut