diff Lib/IMPL/Web/Application/Response.pm @ 67:9f5795a10939

Documentation, minor fixes
author wizard
date Fri, 19 Mar 2010 20:06:12 +0300
parents 2840c4c85db8
children 67eb8eaec3d4
line wrap: on
line diff
--- a/Lib/IMPL/Web/Application/Response.pm	Thu Mar 18 17:58:33 2010 +0300
+++ b/Lib/IMPL/Web/Application/Response.pm	Fri Mar 19 20:06:12 2010 +0300
@@ -14,6 +14,7 @@
 #todo: add binary method to set a binary encoding, set it automatic when type isn't a text 
 
 BEGIN {
+	# автозаполнение буде происходить в порядке объявления
 	public property query => prop_get | owner_set; # cgi query
 	public property status => prop_all, { validator => \&_checkHeaderPrinted };
 	public property contentType => prop_all, { validator => \&_checkHeaderPrinted }; # String
@@ -32,11 +33,19 @@
 
 __PACKAGE__->PassThroughArgs;
 
+our %CTOR = (
+	'IMPL::Object::Autofill' => sub {
+		my %args = @_;
+		
+		$args{query} = CGI->new($args{query} || {});
+		
+		%args;
+	}
+);
+
 sub CTOR {
 	my ($this,%args) = @_;
 	
-	$this->query(CGI->new($this->query() | {})) unless $this->query;
-	
 	if (lc $this->streamOut eq 'memory') {
 		my $dummy = '';
 		open my $hout, '>:encoding(utf8)', \$dummy or die new IMPL::Exception("Failed to create memory stream",$!);
@@ -165,15 +174,23 @@
 
 =pod
 
+=head1 NAME
+
+C<IMPL::Web::Application::Response> - Ответ веб сервера непосредственно клиенту.
+
 =head1 DESCRIPTION
 
-Ответ сервера на CGI запрос, позволяет сформировать основные свойства заголовка и тело запроса.
+C<[Infrastructure]>
+
+Позволяет сформировать основные свойства заголовка и тело ответа.
+
+Создается объектом C<IMPL::Web::Application::Action> в процессе обработки запроса.
+
+Может использоваться обработчиками C<IMPL::Web::QueryHandler> в процессе выполнения запроса.
 
 Объект позволяет буфферизировать вывод в тело ответа, что позволяет отменить или изменить
-ответ в последний момент.
-
-Свойство C< isHeaderPrinted > можно использовать для определения были ли отправлены какие-нибудь
-данные клиенту. 
+ответ в последний момент. Свойство C< isHeaderPrinted >  используется для определения факта
+отправлки данных клиенту. 
 
 =head1 PROPERTIES
 
@@ -184,27 +201,27 @@
 
 =over
 
-=item C< query >
+=item C< [get] query >
 
 CGI запрос, который используется для вывода данных, заголовка и пр. Существует всегда.
 
-=item C< status >
+=item C< [get,set] status >
 
 Код ошибки HTTP. Например, '200 OK'. По умолчанию не установлен, при отправке клиенту бедт отправлен '200 ОК'.
 
-=item C< contentType >
+=item C< [get,set] contentType >
 
 Тип MIME. По умолчанию не установлен, подразумивается 'text/html'.
 
-=item C< charset >
+=item C< [get,set] charset >
 
 Кодировка, синоним свойства query->charset.
 
-=item C< expires >
+=item C< [get,set] expires >
 
 Определяет время жизни контента, например '+10m'. По умолчанию не задано и не передается.
 
-=item C< cookies >
+=item C< [get,set] cookies >
 
 Хеш массив с cookies, например C< { cart => ['foo','bar'], display => 'list' } >.
 
@@ -216,7 +233,7 @@
 
 =over
 
-=item C< buffered >
+=item C< [get,set] buffered >
 
 C< True > - то тело ответа пишется в буффер и будет отправлено при вызове метода C< Complete >,
 заголовок также будет отправлен после вызова метода C< Complete >. 
@@ -226,15 +243,15 @@
 
 Это свойство можно менять до первого обращения к потоку для записи в тело ответа.
 
-=item C< streamOut >
+=item C< [get] streamOut >
 
 Стандартный вывод CGI приложения.
 
-=item C< streamBody >
+=item C< [get] streamBody >
 
 Поток для записи в тело ответа.
 
-=item C< isHeadPrinted >
+=item C< [get] isHeadPrinted >
 
 Признак того, что заголовок уже был отправлен клиенту.
 
@@ -255,4 +272,9 @@
 
 =back
 
+=head1 REMARKS
+
+Данный объект является автозаполняемым, т.е. все его свойства можно задать через
+именованные параметры конструктора.
+
 =cut
\ No newline at end of file