Mercurial > pub > Impl
view Lib/IMPL/Web/Handler/JSONView.pm @ 226:b6cde007a175
Added resource contract
author | sergey |
---|---|
date | Wed, 05 Sep 2012 15:10:26 +0400 |
parents | c8fe3f84feba |
children | 3cebcf6fdb9b |
line wrap: on
line source
package IMPL::Web::Handler::JSONView; use strict; use JSON; use IMPL::lang qw(:declare :constants); use IMPL::declare { base => { 'IMPL::Object' => undef, 'IMPL::Object::Serializable' => undef, 'IMPL::Object::Autofill' => '@_' } }; sub contentType { 'application/json' } sub Invoke { my ($this,$action,$next) = @_; my $result = $next ? $next->($action) : undef; $result = [$result] unless ref $result; $action->response->contentType($this->contentType); my $hout = $action->response->streamBody; print $hout JSON->new->utf8->pretty->encode($result); } 1; __END__ =pod =head1 =cut