Mercurial > pub > Impl
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 |
