use base 'Catalyst::Action';
use YAML::Syck;
-use Catalyst::Request::REST;
sub execute {
my $self = shift;
my ( $controller, $c, $test ) = @_;
-
- my $nreq = bless($c->request, 'Catalyst::Request::REST');
- $c->request($nreq);
- if ($c->request->method eq "POST" || $c->request->method eq "PUT") {
- my $rdata = LoadFile($c->request->body);
+
+ my $body = $c->request->body;
+ if ($body) {
+ my $rdata;
+ eval {
+ my $body = $c->request->body;
+ $rdata = LoadFile( "$body" );
+ };
+ if ($@) {
+ return $@;
+ }
$c->request->data($rdata);
- $self->NEXT::execute( @_, );
} else {
- $self->NEXT::execute( @_ );
+ $c->log->debug(
+ 'I would have deserialized, but there was nothing in the body!')
+ if $c->debug;
}
-};
+ return 1;
+}
1;