Mercurial > pub > Impl
changeset 128:08753833173d
Fixed a error handling issue in JSON output: errors are correctly transfered
A complete documentation for a IMPL::Web::Application::ControllerUnit
author | wizard |
---|---|
date | Tue, 15 Jun 2010 02:41:07 +0400 (2010-06-14) |
parents | 0dce0470a3d8 |
children | e4f15cbc3f1a |
files | Lib/IMPL/Web/Application/ControllerUnit.pm Lib/IMPL/Web/QueryHandler/JsonFormat.pm |
diffstat | 2 files changed, 26 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/Lib/IMPL/Web/Application/ControllerUnit.pm Fri Jun 11 20:21:07 2010 +0400 +++ b/Lib/IMPL/Web/Application/ControllerUnit.pm Tue Jun 15 02:41:07 2010 +0400 @@ -167,7 +167,9 @@ ��� ����� ���������� ����� C<InvokeAction($method,$action)>, ������� �������/��������������� �������� ����������. -���������� �� ������ ������ ������� �� ������� � �����. +���������� �� ������ ������ ������� �� ������� � �����. ��������� ���� ���������� ����������� ��� ������ +��������� ������� (C<TransactionWrapper> � C<FormWrapper>). ������ ������� �������� �� ��������������� +���������� ������� � ����� ������ ��� ���������� ����������, � ����� �� ������� ���������� ����������. =head2 ������� ���������� @@ -180,7 +182,7 @@ ��� ������������ DOM ��������� ������������ �����. ��� ���� ���������� �������� �������������� �������� C<formData>, C<formSchema>, C<formErrors>. -��������� ���������� ���������� �� ������������ �������� ������������, � ���������� � ����� �����, ������� +��������� ���������� ���������� �� ������������ ������ ��������, � ���������� � ���������, ������� �������� ��������� ������� =begin code @@ -234,7 +236,7 @@ =item C<formErrors> -������ ����������� ������, ���� ������� ���� +������ �� ������ � �������� ��� �������� �����. =back @@ -244,16 +246,29 @@ =item C<[get] application> +������ ����������, ������� ������������ ������. + =item C<[get] query> +������� ������. + =item C<[get] response> +������� �����. + =item C<[get] formData> +C<IMPL::DOM::Document> �������� � �������, ���� ������ ������ �������� ������. + =item C<[get] formSchema> +C<IMPL::DOM::Schema> �������� �� ������ ����� ������� �������. + =item C<[get] formErrors> +������ ����������� ������, ���� ������� ����. ������ ��� ������� ������ � �����, ���������� +�� �����������, � ��� ������ ���������� � �����. + =item C<InvokeAction($method,$action)> ������������ �������� ���������� ����������, ����� ���� ������������� ��� ��������������� ��������� ��
--- a/Lib/IMPL/Web/QueryHandler/JsonFormat.pm Fri Jun 11 20:21:07 2010 +0400 +++ b/Lib/IMPL/Web/QueryHandler/JsonFormat.pm Tue Jun 15 02:41:07 2010 +0400 @@ -55,15 +55,6 @@ map { $this->Transform($_) } @$object ]; }, - 'IMPL::Exception' => sub { - my ($this,$object) = @_; - - return { - type => $object->type, - message => $object->Message, - arguments => $this->Transform(scalar $object->Args) - }; - }, -plain => sub { $_[1]; }, @@ -72,6 +63,14 @@ return "$object" unless $object->isa('IMPL::Object::Abstract'); + if ( $object->isa(typeof IMPL::Exception) ) { + return { + type => $object->typeof, + message => $object->Message, + arguments => $this->Transform(scalar $object->Args) + }; + } + my $propList = $propListCache{ref $object}; unless ( $propList ) { my %props = map {