Added Test Suite
[catagits/Catalyst-Action-REST.git] / lib / Catalyst / Action / Deserialize / Data / Serializer.pm
CommitLineData
7ad87df9 1#
2# Catalyst::Action::Deserialize::Data::Serializer.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
8package Catalyst::Action::Deserialize::Data::Serializer;
9
10use strict;
11use warnings;
12
13use base 'Catalyst::Action';
14use Data::Serializer;
15
16sub execute {
17 my $self = shift;
18 my ( $controller, $c, $serializer ) = @_;
19
20 my $body = $c->request->body;
21 if ($body) {
22 my $rbody;
23 if (-f $c->request->body) {
24 open(BODY, "<", $c->request->body);
25 while (my $line = <BODY>) {
26 $rbody .= $line;
27 }
28 close(BODY);
29 }
30 my $dso = Data::Serializer->new(serializer => $serializer);
31 my $rdata = $dso->raw_deserialize($rbody);
32 $c->request->data($rdata);
33 } else {
34 $c->log->debug('I would have deserialized, but there was nothing in the body!');
35 }
36};
37
381;