r49@latte: adam | 2006-12-03 12:30:40 -0800
[catagits/Catalyst-Action-REST.git] / t / lib / Test / Serialize.pm
1 package Test::Serialize;
2
3 use FindBin;
4
5 use lib ("$FindBin::Bin/../lib");
6
7 use strict;
8 use warnings;
9
10 use Catalyst::Runtime '5.70';
11
12 use Catalyst;
13
14 __PACKAGE__->config(
15     name => 'Test::Serialize',
16     serialize => {
17         'stash_key' => 'rest',
18         'map'       => {
19             'text/html'          => 'YAML::HTML',
20             'text/xml'           => 'XML::Simple',
21             'text/x-yaml'        => 'YAML',
22             'text/x-json'        => 'JSON',
23             'text/x-data-dumper' => [ 'Data::Serializer', 'Data::Dumper' ],
24             'text/x-data-denter' => [ 'Data::Serializer', 'Data::Denter' ],
25             'text/x-data-taxi'   => [ 'Data::Serializer', 'Data::Taxi'   ],
26             'application/x-storable'    => [ 'Data::Serializer', 'Storable'     ],
27             'application/x-freezethaw'  => [ 'Data::Serializer', 'FreezeThaw'   ],
28             'text/x-config-general' => [ 'Data::Serializer', 'Config::General' ],
29             'text/x-php-serialization' => [ 'Data::Serializer', 'PHP::Serialization' ],
30             'text/broken'        => 'Broken',
31         },
32     }
33 );
34
35 __PACKAGE__->setup;
36
37 sub monkey_put :Local :ActionClass('Deserialize') {
38     my ( $self, $c ) = @_;
39     $c->res->output($c->req->data->{'sushi'});
40 }
41
42 sub monkey_get :Local :ActionClass('Serialize') {
43     my ( $self, $c ) = @_;
44     $c->stash->{'rest'} = { monkey => 'likes chicken!', };
45 }
46
47 1;
48