X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Flib%2FTest%2FSerialize%2FController%2FREST.pm;h=8c1d5f25d5d09efd848e73e79f6b91286cb9cfe2;hb=8aa1a2eeb6a2f0170ca8548a3862eb874b07238b;hp=118e23782d3ef6f1dd42568e195e5eeb37daf7cf;hpb=2f97104239a5737ffc792d188530258361a57942;p=catagits%2FCatalyst-Action-REST.git diff --git a/t/lib/Test/Serialize/Controller/REST.pm b/t/lib/Test/Serialize/Controller/REST.pm index 118e237..8c1d5f2 100644 --- a/t/lib/Test/Serialize/Controller/REST.pm +++ b/t/lib/Test/Serialize/Controller/REST.pm @@ -27,13 +27,22 @@ __PACKAGE__->config( 'text/view' => [ 'View', 'Simple' ], 'text/explodingview' => [ 'View', 'Awful' ], 'text/broken' => 'Broken', + 'text/javascript', => 'JSONP', + 'application/x-javascript' => 'JSONP', + 'application/javascript' => 'JSONP', + 'text/my-csv' => [ + 'Callback', { + deserialize => sub { return {split /,/, shift } }, + serialize => sub { my $d = shift; join ',', %$d } + } + ], }, ); sub monkey_put : Local : ActionClass('Deserialize') { my ( $self, $c ) = @_; if ( ref($c->req->data) eq "HASH" ) { - my $out = $c->req->data->{'sushi'} . $c->req->data->{'chicken'}||''; + my $out = ($c->req->data->{'sushi'}||'') . ($c->req->data->{'chicken'}||''); utf8::encode($out); $c->res->output( $out ); } else { @@ -46,4 +55,10 @@ sub monkey_get : Local : ActionClass('Serialize') { $c->stash->{'rest'} = { monkey => 'likes chicken!', }; } +sub xss_get : Local : ActionClass('Serialize') { + my ( $self, $c ) = @_; + $c->stash->{'rest'} = { monkey => 'likes chicken > sushi!', }; +} + + 1;