Initial commit of Catalyst-Action-REST
[catagits/Catalyst-Action-REST.git] / lib / Catalyst / Action / Deserialize / YAML.pm
1 #
2 # Catlyst::Action::Deserialize::YAML.pm
3 # Created by: Adam Jacob, Marchex, <adam@marchex.com>
4 # Created on: 10/12/2006 03:00:32 PM PDT
5 #
6 # $Id$
7
8 package Catalyst::Action::Deserialize::YAML;
9
10 use strict;
11 use warnings;
12
13 use base 'Catalyst::Action';
14 use YAML::Syck;
15 use Catalyst::Request::REST;
16
17 sub execute {
18     my $self = shift;
19     my ( $controller, $c, $test ) = @_;
20    
21     my $nreq = bless($c->request, 'Catalyst::Request::REST');
22     $c->request($nreq);
23     if ($c->request->method eq "POST" || $c->request->method eq "PUT") {
24         my $rdata = LoadFile($c->request->body);
25         $c->request->data($rdata);
26         $self->NEXT::execute( @_, );
27     } else {
28         $self->NEXT::execute( @_ );
29     }
30 };
31
32 1;