Commit | Line | Data |
86fe5297 |
1 | package Test::Serialize::Controller::REST; |
2 | |
930013e6 |
3 | use namespace::autoclean; |
4 | use Moose; |
86fe5297 |
5 | |
930013e6 |
6 | BEGIN { extends qw/Catalyst::Controller::REST/ }; |
86fe5297 |
7 | |
8 | __PACKAGE__->config( |
9 | 'namespace' => '', |
10 | 'stash_key' => 'rest', |
11 | 'map' => { |
12 | 'text/html' => 'YAML::HTML', |
13 | 'text/xml' => 'XML::Simple', |
14 | 'text/x-yaml' => 'YAML', |
d6fb033c |
15 | 'application/json' => 'JSON', |
86fe5297 |
16 | 'text/x-json' => 'JSON', |
17 | 'text/x-data-dumper' => [ 'Data::Serializer', 'Data::Dumper' ], |
18 | 'text/x-data-denter' => [ 'Data::Serializer', 'Data::Denter' ], |
19 | 'text/x-data-taxi' => [ 'Data::Serializer', 'Data::Taxi' ], |
20 | 'application/x-storable' => [ 'Data::Serializer', 'Storable' ], |
21 | 'application/x-freezethaw' => |
22 | [ 'Data::Serializer', 'FreezeThaw' ], |
23 | 'text/x-config-general' => |
24 | [ 'Data::Serializer', 'Config::General' ], |
25 | 'text/x-php-serialization' => |
26 | [ 'Data::Serializer', 'PHP::Serialization' ], |
27 | 'text/view' => [ 'View', 'Simple' ], |
f7754f67 |
28 | 'text/explodingview' => [ 'View', 'Awful' ], |
86fe5297 |
29 | 'text/broken' => 'Broken', |
30 | }, |
31 | ); |
32 | |
33 | sub monkey_put : Local : ActionClass('Deserialize') { |
34 | my ( $self, $c ) = @_; |
21d3f6ae |
35 | if ( ref($c->req->data) eq "HASH" ) { |
c93a41f2 |
36 | my $out = ($c->req->data->{'sushi'}||'') . ($c->req->data->{'chicken'}||''); |
c6c4ff28 |
37 | utf8::encode($out); |
38 | $c->res->output( $out ); |
21d3f6ae |
39 | } else { |
40 | $c->res->output(1); |
41 | } |
86fe5297 |
42 | } |
43 | |
44 | sub monkey_get : Local : ActionClass('Serialize') { |
45 | my ( $self, $c ) = @_; |
46 | $c->stash->{'rest'} = { monkey => 'likes chicken!', }; |
47 | } |
48 | |
49 | 1; |