diff Lib/IMPL/Web/Application/Resource.pm @ 256:32aceba4ee6d

corrected ViewHandlers to handle cookies and headers. Dirty hacks to handle binary data RestController doesn't deal with file extensions anymore.
author sergey
date Wed, 12 Dec 2012 04:29:50 +0400
parents 827cf96faa1c
children 4abda21186cd
line wrap: on
line diff
--- a/Lib/IMPL/Web/Application/Resource.pm	Fri Dec 07 16:58:19 2012 +0400
+++ b/Lib/IMPL/Web/Application/Resource.pm	Wed Dec 12 04:29:50 2012 +0400
@@ -1,6 +1,7 @@
 package IMPL::Web::Application::Resource;
 use strict;
 
+use URI;
 use IMPL::Const qw(:prop);
 use IMPL::declare {
     require => {
@@ -19,7 +20,6 @@
         parent   => PROP_RO,
         model    => PROP_RO,
         id       => PROP_RO,
-        name     => PROP_RO,
         contract => PROP_RO,
         location => PROP_RO,
       ]
@@ -32,18 +32,15 @@
       unless $args{id};
     die ArgumentException->new( contract => 'A contract is required' )
       unless $args{contract};
-    die ArgumentException->new( name => 'A name is required' )
-      if $args{parent} && not(length $args{name});
 
     $this->parent( $args{parent} );
     $this->model( $args{model} );
     $this->id( $args{id} );
     $this->contract( $args{contract} );
-    $this->name($args{name});
 
     # если расположение явно не указано, то оно вычисляется автоматически,
     # либо остается не заданным
-    $this->location( $args{location} || eval { $this->parent->location->Child( $this->name ) } );
+    $this->location( $args{location} || eval { $this->parent->location->Child( $this->id ) } );
 }
 
 sub InvokeHttpVerb {
@@ -172,13 +169,6 @@
 Обязательное свойство ресурса, идентифицирует его в родительском контейнере,
 для корневого ресурса может иметь произвольное значение.
 
-=head2 C<[get]name>
-
-Имя ресурса в адресной строке. При разборе адреса идентификаторы ресурсов могут
-не всегда совпадать с именами, например C<http://audio/sonar.mp3> может иметь
-идентификатор C<sonar>, а его имя будет C<sonar.mp3>. Однако за частую имя
-совпадает с идентификатором.
-
 =head2 C<[get]parent>
 
 Ссылка на родительский ресурс, для корневого ресурса не определена.