Mercurial > pub > Impl
comparison Lib/IMPL/Web/Handler/TTView.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 | a02b110da931 |
| children | 89179bb8c388 |
comparison
equal
deleted
inserted
replaced
| 255:827cf96faa1c | 256:32aceba4ee6d |
|---|---|
| 63 return Factory->new($class); | 63 return Factory->new($class); |
| 64 } | 64 } |
| 65 }; | 65 }; |
| 66 | 66 |
| 67 my $doc = | 67 my $doc = |
| 68 $this->loader->document( $this->SelectView( $action, ref $model ), | 68 $this->loader->document( eval { $view->template } || $this->SelectView( $action, ref $model ), |
| 69 $vars ); | 69 $vars ); |
| 70 | 70 |
| 71 return HttpResponse->new( | 71 $doc->location($view->location); |
| 72 | |
| 73 my %responseParams = ( | |
| 72 type => $this->contentType, | 74 type => $this->contentType, |
| 73 charset => $this->contentCharset, | 75 charset => $this->contentCharset, |
| 74 body => $doc->Render() | 76 body => $doc->Render() |
| 77 ); | |
| 78 | |
| 79 $responseParams{status} = $view->status if $view->status; | |
| 80 $responseParams{cookies} = $view->cookies if ref $view->cookies eq 'HASH'; | |
| 81 $responseParams{headers} = $view->headers if ref $view->headers eq 'HASH'; | |
| 82 | |
| 83 return HttpResponse->new( | |
| 84 %responseParams | |
| 75 ); | 85 ); |
| 76 } | 86 } |
| 77 | 87 |
| 78 sub SelectView { | 88 sub SelectView { |
| 79 my ( $this, $action, $class ) = @_; | 89 my ( $this, $action, $class ) = @_; |
