r63284 - in /trunk/libcatalyst-action-rest-perl: ./ debian/ inc/Module/ inc/Module/Install/ lib/Catalyst/Action/ lib/Catalyst/Action/Deserialize/ lib/Catalyst/Action/Deserialize/Data/ lib/Catalyst/Action/Deserialize/XML/ lib/Catalyst/Action/Serialize/ lib/Catalyst/Action/Serialize/Data/ lib/Catalyst/Action/Serialize/JSON/ lib/Catalyst/Action/Serialize/XML/ lib/Catalyst/Action/Serialize/YAML/ lib/Catalyst/Controller/ lib/Catalyst/Request/ lib/Catalyst/Request/REST/ lib/Catalyst/TraitFor/Request/ lib/Catalyst/TraitFor/Request/REST/ t/ t/lib/Test/Action/Class/ t/lib/Test/Catalyst/Action/REST/Controller/ t/lib/Test/Serialize/Controller/ xt/
jawnsy-guest at users.alioth.debian.org
jawnsy-guest at users.alioth.debian.org
Mon Oct 4 00:31:35 UTC 2010
Author: jawnsy-guest
Date: Mon Oct 4 00:31:26 2010
New Revision: 63284
URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=63284
Log:
* New upstream release
* Standards-Version 3.9.1 (no changes)
Added:
trunk/libcatalyst-action-rest-perl/t/lib/Test/Action/Class/
- copied from r63282, branches/upstream/libcatalyst-action-rest-perl/current/t/lib/Test/Action/Class/
trunk/libcatalyst-action-rest-perl/t/lib/Test/Serialize/Controller/JSON.pm
- copied unchanged from r63282, branches/upstream/libcatalyst-action-rest-perl/current/t/lib/Test/Serialize/Controller/JSON.pm
Modified:
trunk/libcatalyst-action-rest-perl/Changes
trunk/libcatalyst-action-rest-perl/MANIFEST
trunk/libcatalyst-action-rest-perl/META.yml
trunk/libcatalyst-action-rest-perl/debian/changelog
trunk/libcatalyst-action-rest-perl/debian/control
trunk/libcatalyst-action-rest-perl/debian/copyright
trunk/libcatalyst-action-rest-perl/inc/Module/Install.pm
trunk/libcatalyst-action-rest-perl/inc/Module/Install/AutoInstall.pm
trunk/libcatalyst-action-rest-perl/inc/Module/Install/Base.pm
trunk/libcatalyst-action-rest-perl/inc/Module/Install/Can.pm
trunk/libcatalyst-action-rest-perl/inc/Module/Install/Fetch.pm
trunk/libcatalyst-action-rest-perl/inc/Module/Install/Include.pm
trunk/libcatalyst-action-rest-perl/inc/Module/Install/Makefile.pm
trunk/libcatalyst-action-rest-perl/inc/Module/Install/Metadata.pm
trunk/libcatalyst-action-rest-perl/inc/Module/Install/Win32.pm
trunk/libcatalyst-action-rest-perl/inc/Module/Install/WriteAll.pm
trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Deserialize.pm
trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Deserialize/Data/Serializer.pm
trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Deserialize/JSON.pm
trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Deserialize/View.pm
trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Deserialize/XML/Simple.pm
trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Deserialize/YAML.pm
trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/REST.pm
trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize.pm
trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/Data/Serializer.pm
trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/JSON.pm
trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/JSON/XS.pm
trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/JSONP.pm
trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/View.pm
trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/XML/Simple.pm
trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/YAML.pm
trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/YAML/HTML.pm
trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/SerializeBase.pm
trunk/libcatalyst-action-rest-perl/lib/Catalyst/Controller/REST.pm
trunk/libcatalyst-action-rest-perl/lib/Catalyst/Request/REST.pm
trunk/libcatalyst-action-rest-perl/lib/Catalyst/Request/REST/ForBrowsers.pm
trunk/libcatalyst-action-rest-perl/lib/Catalyst/TraitFor/Request/REST.pm
trunk/libcatalyst-action-rest-perl/lib/Catalyst/TraitFor/Request/REST/ForBrowsers.pm
trunk/libcatalyst-action-rest-perl/t/catalyst-action-rest-action-dispatch.t
trunk/libcatalyst-action-rest-perl/t/data-serializer.t
trunk/libcatalyst-action-rest-perl/t/json.t
trunk/libcatalyst-action-rest-perl/t/lib/Test/Catalyst/Action/REST/Controller/Actions.pm
trunk/libcatalyst-action-rest-perl/xt/version-numbers.t
Modified: trunk/libcatalyst-action-rest-perl/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/Changes?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/Changes (original)
+++ trunk/libcatalyst-action-rest-perl/Changes Mon Oct 4 00:31:26 2010
@@ -1,3 +1,10 @@
+Wed 1 Sept 2010 23:14:00 BST - Release 0.86
+
+ Add rest_serializer_json_options config key useable to set options
+ like relaxed => 1 to be passed to the JSON serializer (Ton Voon)
+
+ Make Data::Dumper unserializer safer by using a Safe compartment (Ton Voon)
+
Thu 13 May 2010 10:09:19 CEST - Release 0.85
Make Catalyst::Action::Serialize::View return directly rather than serializing
Modified: trunk/libcatalyst-action-rest-perl/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/MANIFEST?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/MANIFEST (original)
+++ trunk/libcatalyst-action-rest-perl/MANIFEST Mon Oct 4 00:31:26 2010
@@ -55,6 +55,7 @@
t/json.t
t/jsonp.t
t/lib/Test/Action/Class.pm
+t/lib/Test/Action/Class/Sub.pm
t/lib/Test/Catalyst/Action/REST.pm
t/lib/Test/Catalyst/Action/REST/Controller/Actions.pm
t/lib/Test/Catalyst/Action/REST/Controller/Deserialize.pm
@@ -65,6 +66,7 @@
t/lib/Test/Catalyst/Log.pm
t/lib/Test/Rest.pm
t/lib/Test/Serialize.pm
+t/lib/Test/Serialize/Controller/JSON.pm
t/lib/Test/Serialize/Controller/REST.pm
t/lib/Test/Serialize/View/Awful.pm
t/lib/Test/Serialize/View/Simple.pm
Modified: trunk/libcatalyst-action-rest-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/META.yml?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/META.yml (original)
+++ trunk/libcatalyst-action-rest-perl/META.yml Mon Oct 4 00:31:26 2010
@@ -7,7 +7,7 @@
configure_requires:
ExtUtils::MakeMaker: 6.42
distribution_type: module
-generated_by: 'Module::Install version 0.97'
+generated_by: 'Module::Install version 0.99'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -40,4 +40,4 @@
resources:
license: http://dev.perl.org/licenses/
repository: git://git.shadowcat.co.uk/catagits/Catalyst-Action-REST.git
-version: 0.85
+version: 0.86
Modified: trunk/libcatalyst-action-rest-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/debian/changelog?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/debian/changelog (original)
+++ trunk/libcatalyst-action-rest-perl/debian/changelog Mon Oct 4 00:31:26 2010
@@ -1,3 +1,10 @@
+libcatalyst-action-rest-perl (0.86-1) UNRELEASED; urgency=low
+
+ * New upstream release
+ * Standards-Version 3.9.1 (no changes)
+
+ -- Jonathan Yu <jawnsy at cpan.org> Sun, 03 Oct 2010 20:42:18 -0400
+
libcatalyst-action-rest-perl (0.85-1) unstable; urgency=low
[ Jonathan Yu ]
Modified: trunk/libcatalyst-action-rest-perl/debian/control
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/debian/control?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/debian/control (original)
+++ trunk/libcatalyst-action-rest-perl/debian/control Mon Oct 4 00:31:26 2010
@@ -10,7 +10,7 @@
Maintainer: Debian Perl Group <pkg-perl-maintainers at lists.alioth.debian.org>
Uploaders: Jonathan Yu <jawnsy at cpan.org>, Franck Joncourt <franck at debian.org>,
gregor herrmann <gregoa at debian.org>
-Standards-Version: 3.8.4
+Standards-Version: 3.9.1
Homepage: http://search.cpan.org/dist/Catalyst-Action-REST/
Vcs-Svn: svn://svn.debian.org/pkg-perl/trunk/libcatalyst-action-rest-perl
Vcs-Browser: http://svn.debian.org/viewsvn/pkg-perl/trunk/libcatalyst-action-rest-perl
Modified: trunk/libcatalyst-action-rest-perl/debian/copyright
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/debian/copyright?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/debian/copyright (original)
+++ trunk/libcatalyst-action-rest-perl/debian/copyright Mon Oct 4 00:31:26 2010
@@ -37,8 +37,8 @@
This program is free software; you can redistribute it and/or modify
it under the terms of the Artistic License, which comes with Perl.
.
- On Debian GNU/Linux systems, the complete text of the Artistic License
- can be found in `/usr/share/common-licenses/Artistic'
+ On Debian systems, the complete text of the Artistic License can be
+ found in `/usr/share/common-licenses/Artistic'
License: GPL-1+
This program is free software; you can redistribute it and/or modify
@@ -46,5 +46,5 @@
the Free Software Foundation; either version 1, or (at your option)
any later version.
.
- On Debian GNU/Linux systems, the complete text of the GNU General
- Public License can be found in `/usr/share/common-licenses/GPL'
+ On Debian systems, the complete text of the GNU General Public
+ License can be found in `/usr/share/common-licenses/GPL'
Modified: trunk/libcatalyst-action-rest-perl/inc/Module/Install.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/inc/Module/Install.pm?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/inc/Module/Install.pm (original)
+++ trunk/libcatalyst-action-rest-perl/inc/Module/Install.pm Mon Oct 4 00:31:26 2010
@@ -22,7 +22,6 @@
use Cwd ();
use File::Find ();
use File::Path ();
-use FindBin;
use vars qw{$VERSION $MAIN};
BEGIN {
@@ -32,7 +31,7 @@
# This is not enforced yet, but will be some time in the next few
# releases once we can make sure it won't clash with custom
# Module::Install extensions.
- $VERSION = '0.97';
+ $VERSION = '0.99';
# Storage for the pseudo-singleton
$MAIN = undef;
@@ -231,7 +230,8 @@
sub new {
my ($class, %args) = @_;
- FindBin->again;
+ delete $INC{'FindBin.pm'};
+ require FindBin;
# ignore the prefix on extension modules built from top level.
my $base_path = Cwd::abs_path($FindBin::Bin);
Modified: trunk/libcatalyst-action-rest-perl/inc/Module/Install/AutoInstall.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/inc/Module/Install/AutoInstall.pm?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/inc/Module/Install/AutoInstall.pm (original)
+++ trunk/libcatalyst-action-rest-perl/inc/Module/Install/AutoInstall.pm Mon Oct 4 00:31:26 2010
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '0.97';
+ $VERSION = '0.99';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
Modified: trunk/libcatalyst-action-rest-perl/inc/Module/Install/Base.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/inc/Module/Install/Base.pm?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/inc/Module/Install/Base.pm (original)
+++ trunk/libcatalyst-action-rest-perl/inc/Module/Install/Base.pm Mon Oct 4 00:31:26 2010
@@ -4,7 +4,7 @@
use strict 'vars';
use vars qw{$VERSION};
BEGIN {
- $VERSION = '0.97';
+ $VERSION = '0.99';
}
# Suspend handler for "redefined" warnings
Modified: trunk/libcatalyst-action-rest-perl/inc/Module/Install/Can.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/inc/Module/Install/Can.pm?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/inc/Module/Install/Can.pm (original)
+++ trunk/libcatalyst-action-rest-perl/inc/Module/Install/Can.pm Mon Oct 4 00:31:26 2010
@@ -9,7 +9,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '0.97';
+ $VERSION = '0.99';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
Modified: trunk/libcatalyst-action-rest-perl/inc/Module/Install/Fetch.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/inc/Module/Install/Fetch.pm?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/inc/Module/Install/Fetch.pm (original)
+++ trunk/libcatalyst-action-rest-perl/inc/Module/Install/Fetch.pm Mon Oct 4 00:31:26 2010
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '0.97';
+ $VERSION = '0.99';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
Modified: trunk/libcatalyst-action-rest-perl/inc/Module/Install/Include.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/inc/Module/Install/Include.pm?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/inc/Module/Install/Include.pm (original)
+++ trunk/libcatalyst-action-rest-perl/inc/Module/Install/Include.pm Mon Oct 4 00:31:26 2010
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '0.97';
+ $VERSION = '0.99';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
Modified: trunk/libcatalyst-action-rest-perl/inc/Module/Install/Makefile.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/inc/Module/Install/Makefile.pm?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/inc/Module/Install/Makefile.pm (original)
+++ trunk/libcatalyst-action-rest-perl/inc/Module/Install/Makefile.pm Mon Oct 4 00:31:26 2010
@@ -4,10 +4,11 @@
use strict 'vars';
use ExtUtils::MakeMaker ();
use Module::Install::Base ();
+use Fcntl qw/:flock :seek/;
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '0.97';
+ $VERSION = '0.99';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -364,9 +365,9 @@
. ($self->postamble || '');
local *MAKEFILE;
- open MAKEFILE, "< $makefile_name" or die "fix_up_makefile: Couldn't open $makefile_name: $!";
+ open MAKEFILE, "+< $makefile_name" or die "fix_up_makefile: Couldn't open $makefile_name: $!";
+ eval { flock MAKEFILE, LOCK_EX };
my $makefile = do { local $/; <MAKEFILE> };
- close MAKEFILE or die $!;
$makefile =~ s/\b(test_harness\(\$\(TEST_VERBOSE\), )/$1'inc', /;
$makefile =~ s/( -I\$\(INST_ARCHLIB\))/ -Iinc$1/g;
@@ -386,7 +387,8 @@
# XXX - This is currently unused; not sure if it breaks other MM-users
# $makefile =~ s/^pm_to_blib\s+:\s+/pm_to_blib :: /mg;
- open MAKEFILE, "> $makefile_name" or die "fix_up_makefile: Couldn't open $makefile_name: $!";
+ seek MAKEFILE, 0, SEEK_SET;
+ truncate MAKEFILE, 0;
print MAKEFILE "$preamble$makefile$postamble" or die $!;
close MAKEFILE or die $!;
@@ -410,4 +412,4 @@
__END__
-#line 539
+#line 541
Modified: trunk/libcatalyst-action-rest-perl/inc/Module/Install/Metadata.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/inc/Module/Install/Metadata.pm?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/inc/Module/Install/Metadata.pm (original)
+++ trunk/libcatalyst-action-rest-perl/inc/Module/Install/Metadata.pm Mon Oct 4 00:31:26 2010
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '0.97';
+ $VERSION = '0.99';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -616,8 +616,15 @@
return $v;
}
-
-
+sub add_metadata {
+ my $self = shift;
+ my %hash = @_;
+ for my $key (keys %hash) {
+ warn "add_metadata: $key is not prefixed with 'x_'.\n" .
+ "Use appopriate function to add non-private metadata.\n" unless $key =~ /^x_/;
+ $self->{values}->{$key} = $hash{$key};
+ }
+}
######################################################################
Modified: trunk/libcatalyst-action-rest-perl/inc/Module/Install/Win32.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/inc/Module/Install/Win32.pm?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/inc/Module/Install/Win32.pm (original)
+++ trunk/libcatalyst-action-rest-perl/inc/Module/Install/Win32.pm Mon Oct 4 00:31:26 2010
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '0.97';
+ $VERSION = '0.99';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
Modified: trunk/libcatalyst-action-rest-perl/inc/Module/Install/WriteAll.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/inc/Module/Install/WriteAll.pm?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/inc/Module/Install/WriteAll.pm (original)
+++ trunk/libcatalyst-action-rest-perl/inc/Module/Install/WriteAll.pm Mon Oct 4 00:31:26 2010
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '0.97';;
+ $VERSION = '0.99';
@ISA = qw{Module::Install::Base};
$ISCORE = 1;
}
Modified: trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Deserialize.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Deserialize.pm?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Deserialize.pm (original)
+++ trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Deserialize.pm Mon Oct 4 00:31:26 2010
@@ -7,7 +7,7 @@
use Module::Pluggable::Object;
use MRO::Compat;
-our $VERSION = '0.85';
+our $VERSION = '0.86';
$VERSION = eval $VERSION;
has plugins => ( is => 'rw' );
Modified: trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Deserialize/Data/Serializer.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Deserialize/Data/Serializer.pm?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Deserialize/Data/Serializer.pm (original)
+++ trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Deserialize/Data/Serializer.pm Mon Oct 4 00:31:26 2010
@@ -5,8 +5,11 @@
extends 'Catalyst::Action';
use Data::Serializer;
+use Safe;
+my $compartment = Safe->new;
+$compartment->permit_only( qw(padany null lineseq const pushmark list anonhash anonlist refgen leaveeval undef) );
-our $VERSION = '0.85';
+our $VERSION = '0.86';
$VERSION = eval $VERSION;
sub execute {
@@ -34,11 +37,18 @@
}
close(BODY);
}
- my $dso = Data::Serializer->new( serializer => $serializer );
my $rdata;
- eval {
- $rdata = $dso->raw_deserialize($rbody);
- };
+ if ( $serializer eq "Data::Dumper" ) {
+ # Taken from Data::Serialize::Data::Dumper::deserialize, but run within a Safe compartment
+ my $code = $rbody =~ /^\{/ ? "+".$rbody : $rbody;
+ $rdata = $compartment->reval( $code );
+ }
+ else {
+ my $dso = Data::Serializer->new( serializer => $serializer );
+ eval {
+ $rdata = $dso->raw_deserialize($rbody);
+ };
+ }
if ($@) {
return $@;
}
Modified: trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Deserialize/JSON.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Deserialize/JSON.pm?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Deserialize/JSON.pm (original)
+++ trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Deserialize/JSON.pm Mon Oct 4 00:31:26 2010
@@ -4,9 +4,9 @@
use namespace::autoclean;
extends 'Catalyst::Action';
-use JSON qw( decode_json );
+use JSON;
-our $VERSION = '0.85';
+our $VERSION = '0.86';
$VERSION = eval $VERSION;
sub execute {
@@ -23,7 +23,13 @@
}
if ( $rbody ) {
- my $rdata = eval { decode_json( $rbody ) };
+ my $json = JSON->new->utf8;
+ if (my $options = $controller->{json_options}) {
+ foreach my $opt (keys %$options) {
+ $json->$opt( $options->{$opt} );
+ }
+ }
+ my $rdata = eval { $json->decode( $rbody ) };
if ($@) {
return $@;
}
Modified: trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Deserialize/View.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Deserialize/View.pm?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Deserialize/View.pm (original)
+++ trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Deserialize/View.pm Mon Oct 4 00:31:26 2010
@@ -5,7 +5,7 @@
extends 'Catalyst::Action';
-our $VERSION = '0.85';
+our $VERSION = '0.86';
$VERSION = eval $VERSION;
sub execute {
Modified: trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Deserialize/XML/Simple.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Deserialize/XML/Simple.pm?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Deserialize/XML/Simple.pm (original)
+++ trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Deserialize/XML/Simple.pm Mon Oct 4 00:31:26 2010
@@ -5,7 +5,7 @@
extends 'Catalyst::Action';
-our $VERSION = '0.85';
+our $VERSION = '0.86';
$VERSION = eval $VERSION;
sub execute {
Modified: trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Deserialize/YAML.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Deserialize/YAML.pm?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Deserialize/YAML.pm (original)
+++ trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Deserialize/YAML.pm Mon Oct 4 00:31:26 2010
@@ -6,7 +6,7 @@
extends 'Catalyst::Action';
use YAML::Syck;
-our $VERSION = '0.85';
+our $VERSION = '0.86';
$VERSION = eval $VERSION;
sub execute {
Modified: trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/REST.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/REST.pm?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/REST.pm (original)
+++ trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/REST.pm Mon Oct 4 00:31:26 2010
@@ -10,7 +10,7 @@
BEGIN { require 5.008001; }
-our $VERSION = '0.85';
+our $VERSION = '0.86';
$VERSION = eval $VERSION;
sub new {
@@ -92,12 +92,13 @@
# Common case, for foo_GET etc
if ( $code = $controller->action_for($rest_method) ) {
- $c->execute( $self->class, $self, @{ $c->req->args } );
- return $c->forward( $code, $c->req->args );
- } elsif ($code = $controller->can($rest_method)) {
+ $c->execute( $self->class, $self, @{ $c->req->args } ); # Execute normal 'foo' action.
+ return $c->forward( $code, $c->req->args ); # Forward to foo_GET if it's an action
+ }
+ elsif ($code = $controller->can($rest_method)) {
# Exceute normal action
$c->execute( $self->class, $self, @{ $c->req->args } );
- $name = $rest_method;
+ $name = $rest_method; # Stash name and code to run 'foo_GET' like an action below.
}
# Generic handling for foo_OPTIONS
Modified: trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize.pm?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize.pm (original)
+++ trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize.pm Mon Oct 4 00:31:26 2010
@@ -7,7 +7,7 @@
use Module::Pluggable::Object;
use MRO::Compat;
-our $VERSION = '0.85';
+our $VERSION = '0.86';
$VERSION = eval $VERSION;
has _encoders => (
Modified: trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/Data/Serializer.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/Data/Serializer.pm?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/Data/Serializer.pm (original)
+++ trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/Data/Serializer.pm Mon Oct 4 00:31:26 2010
@@ -6,7 +6,7 @@
extends 'Catalyst::Action';
use Data::Serializer;
-our $VERSION = '0.85';
+our $VERSION = '0.86';
$VERSION = eval $VERSION;
sub execute {
Modified: trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/JSON.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/JSON.pm?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/JSON.pm (original)
+++ trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/JSON.pm Mon Oct 4 00:31:26 2010
@@ -6,7 +6,7 @@
extends 'Catalyst::Action';
use JSON ();
-our $VERSION = '0.85';
+our $VERSION = '0.86';
$VERSION = eval $VERSION;
has encoder => (
Modified: trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/JSON/XS.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/JSON/XS.pm?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/JSON/XS.pm (original)
+++ trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/JSON/XS.pm Mon Oct 4 00:31:26 2010
@@ -6,7 +6,7 @@
extends 'Catalyst::Action::Serialize::JSON';
use JSON::XS ();
-our $VERSION = '0.85';
+our $VERSION = '0.86';
$VERSION = eval $VERSION;
sub _build_encoder {
Modified: trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/JSONP.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/JSONP.pm?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/JSONP.pm (original)
+++ trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/JSONP.pm Mon Oct 4 00:31:26 2010
@@ -4,7 +4,7 @@
extends 'Catalyst::Action::Serialize::JSON';
-our $VERSION = '0.85';
+our $VERSION = '0.86';
$VERSION = eval $VERSION;
after 'execute' => sub {
Modified: trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/View.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/View.pm?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/View.pm (original)
+++ trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/View.pm Mon Oct 4 00:31:26 2010
@@ -4,7 +4,7 @@
extends 'Catalyst::Action';
-our $VERSION = '0.85';
+our $VERSION = '0.86';
$VERSION = eval $VERSION;
sub execute {
Modified: trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/XML/Simple.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/XML/Simple.pm?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/XML/Simple.pm (original)
+++ trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/XML/Simple.pm Mon Oct 4 00:31:26 2010
@@ -5,7 +5,7 @@
extends 'Catalyst::Action';
-our $VERSION = '0.85';
+our $VERSION = '0.86';
$VERSION = eval $VERSION;
sub execute {
Modified: trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/YAML.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/YAML.pm?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/YAML.pm (original)
+++ trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/YAML.pm Mon Oct 4 00:31:26 2010
@@ -6,7 +6,7 @@
extends 'Catalyst::Action';
use YAML::Syck;
-our $VERSION = '0.85';
+our $VERSION = '0.86';
$VERSION = eval $VERSION;
sub execute {
Modified: trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/YAML/HTML.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/YAML/HTML.pm?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/YAML/HTML.pm (original)
+++ trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/Serialize/YAML/HTML.pm Mon Oct 4 00:31:26 2010
@@ -7,7 +7,7 @@
use YAML::Syck;
use URI::Find;
-our $VERSION = '0.85';
+our $VERSION = '0.86';
$VERSION = eval $VERSION;
sub execute {
Modified: trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/SerializeBase.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/SerializeBase.pm?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/SerializeBase.pm (original)
+++ trunk/libcatalyst-action-rest-perl/lib/Catalyst/Action/SerializeBase.pm Mon Oct 4 00:31:26 2010
@@ -8,7 +8,7 @@
use Catalyst::Request::REST;
use Catalyst::Utils ();
-our $VERSION = '0.85';
+our $VERSION = '0.86';
$VERSION = eval $VERSION;
after BUILDARGS => sub {
Modified: trunk/libcatalyst-action-rest-perl/lib/Catalyst/Controller/REST.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/lib/Catalyst/Controller/REST.pm?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/lib/Catalyst/Controller/REST.pm (original)
+++ trunk/libcatalyst-action-rest-perl/lib/Catalyst/Controller/REST.pm Mon Oct 4 00:31:26 2010
@@ -2,7 +2,7 @@
use Moose;
use namespace::autoclean;
-our $VERSION = '0.85';
+our $VERSION = '0.86';
$VERSION = eval $VERSION;
=head1 NAME
@@ -145,6 +145,12 @@
Uses L<JSON> to generate JSON output. It is strongly advised to also have
L<JSON::XS> installed. The C<text/x-json> content type is supported but is
deprecated and you will receive warnings in your log.
+
+You can also add a hash in your controller config to pass options to the json object.
+For instance, to relax permissions when deserializing input, add:
+ __PACKAGE__->config(
+ json_options => { relaxed => 1 }
+ )
=item * C<text/javascript> => C<JSONP>
Modified: trunk/libcatalyst-action-rest-perl/lib/Catalyst/Request/REST.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/lib/Catalyst/Request/REST.pm?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/lib/Catalyst/Request/REST.pm (original)
+++ trunk/libcatalyst-action-rest-perl/lib/Catalyst/Request/REST.pm Mon Oct 4 00:31:26 2010
@@ -7,7 +7,7 @@
extends 'Catalyst::Request';
with 'Catalyst::TraitFor::Request::REST';
-our $VERSION = '0.85';
+our $VERSION = '0.86';
$VERSION = eval $VERSION;
# Please don't take this as a recommended way to do things.
Modified: trunk/libcatalyst-action-rest-perl/lib/Catalyst/Request/REST/ForBrowsers.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/lib/Catalyst/Request/REST/ForBrowsers.pm?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/lib/Catalyst/Request/REST/ForBrowsers.pm (original)
+++ trunk/libcatalyst-action-rest-perl/lib/Catalyst/Request/REST/ForBrowsers.pm Mon Oct 4 00:31:26 2010
@@ -3,7 +3,7 @@
use namespace::autoclean;
-our $VERSION = '0.85';
+our $VERSION = '0.86';
$VERSION = eval $VERSION;
extends 'Catalyst::Request::REST';
Modified: trunk/libcatalyst-action-rest-perl/lib/Catalyst/TraitFor/Request/REST.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/lib/Catalyst/TraitFor/Request/REST.pm?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/lib/Catalyst/TraitFor/Request/REST.pm (original)
+++ trunk/libcatalyst-action-rest-perl/lib/Catalyst/TraitFor/Request/REST.pm Mon Oct 4 00:31:26 2010
@@ -3,7 +3,7 @@
use HTTP::Headers::Util qw(split_header_words);
use namespace::autoclean;
-our $VERSION = '0.85';
+our $VERSION = '0.86';
$VERSION = eval $VERSION;
has [qw/ data accept_only /] => ( is => 'rw' );
Modified: trunk/libcatalyst-action-rest-perl/lib/Catalyst/TraitFor/Request/REST/ForBrowsers.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/lib/Catalyst/TraitFor/Request/REST/ForBrowsers.pm?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/lib/Catalyst/TraitFor/Request/REST/ForBrowsers.pm (original)
+++ trunk/libcatalyst-action-rest-perl/lib/Catalyst/TraitFor/Request/REST/ForBrowsers.pm Mon Oct 4 00:31:26 2010
@@ -4,7 +4,7 @@
with 'Catalyst::TraitFor::Request::REST';
-our $VERSION = '0.85';
+our $VERSION = '0.86';
$VERSION = eval $VERSION;
has _determined_real_method => (
Modified: trunk/libcatalyst-action-rest-perl/t/catalyst-action-rest-action-dispatch.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/t/catalyst-action-rest-action-dispatch.t?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/t/catalyst-action-rest-action-dispatch.t (original)
+++ trunk/libcatalyst-action-rest-perl/t/catalyst-action-rest-action-dispatch.t Mon Oct 4 00:31:26 2010
@@ -1,6 +1,6 @@
use strict;
use warnings;
-use Test::More tests => 21;
+use Test::More 0.88;
use FindBin;
use lib ( "$FindBin::Bin/lib", "$FindBin::Bin/../lib" );
@@ -42,3 +42,21 @@
);
}
+my $res = request(
+ $t->put(
+ url => '/actions/test',
+ data => '',
+ )
+);
+is(
+ $res->header('Using-Action'),
+ 'STATION',
+ "went through action for dispatching to PUT"
+);
+is(
+ $res->header('Using-Sub-Action'),
+ 'MOO',
+ "went through sub action for dispatching to PUT"
+);
+
+done_testing;
Modified: trunk/libcatalyst-action-rest-perl/t/data-serializer.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/t/data-serializer.t?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/t/data-serializer.t (original)
+++ trunk/libcatalyst-action-rest-perl/t/data-serializer.t Mon Oct 4 00:31:26 2010
@@ -1,6 +1,6 @@
use strict;
use warnings;
-use Test::More tests => 29;
+use Test::More tests => 31;
use FindBin;
use lib ( "$FindBin::Bin/lib", "$FindBin::Bin/../lib" );
@@ -59,4 +59,22 @@
}
}
+{
+ my $t = Test::Rest->new( 'content_type' => 'text/x-data-dumper' );
+
+ my $post_data = "{ 'sushi' => die('hack attempt') }";
+ my $mres_post = request(
+ $t->post(
+ url => '/monkey_put',
+ data => $post_data,
+ )
+ );
+ ok( ! $mres_post->is_success, "POST Data::Dumper fails due to invalid input" );
+ like(
+ $mres_post->content,
+ qr%Content-Type text/x-data-dumper had a problem with your request.*'die' trapped by operation mask%s,
+ "POST Data::Dumper data error matches"
+ );
+}
+
1;
Modified: trunk/libcatalyst-action-rest-perl/t/json.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/t/json.t?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/t/json.t (original)
+++ trunk/libcatalyst-action-rest-perl/t/json.t Mon Oct 4 00:31:26 2010
@@ -10,7 +10,7 @@
eval 'use JSON 2.12';
plan skip_all => 'Install JSON 2.12 or later to run this test' if ($@);
-plan tests => 9;
+plan tests => 11;
use_ok 'Catalyst::Test', 'Test::Serialize';
@@ -36,4 +36,14 @@
is_deeply($mres_post->content, $exp, "POST data matches");
}
+{
+ my $t = Test::Rest->new('content_type' => 'application/json');
+ my $json_data = '{ "sushi":"is good for monkey", }';
+ my $mres_post = request($t->post(url => '/monkey_put', data => $json_data));
+ ok( ! $mres_post->is_success, "Got expected failed status due to invalid JSON" );
+
+ my $relaxed_post = request( $t->post(url => "/monkey_json_put", data => $json_data));
+ ok( $relaxed_post->is_success, "Got success due to setting relaxed JSON input" );
+}
+
1;
Modified: trunk/libcatalyst-action-rest-perl/t/lib/Test/Catalyst/Action/REST/Controller/Actions.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/t/lib/Test/Catalyst/Action/REST/Controller/Actions.pm?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/t/lib/Test/Catalyst/Action/REST/Controller/Actions.pm (original)
+++ trunk/libcatalyst-action-rest-perl/t/lib/Test/Catalyst/Action/REST/Controller/Actions.pm Mon Oct 4 00:31:26 2010
@@ -23,7 +23,7 @@
$c->res->body('POST');
}
-sub test_PUT :ActionClass('+Test::Action::Class') {
+sub test_PUT :ActionClass('+Test::Action::Class::Sub') {
my ( $self, $c ) = @_;
$c->res->body('PUT');
}
Modified: trunk/libcatalyst-action-rest-perl/xt/version-numbers.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libcatalyst-action-rest-perl/xt/version-numbers.t?rev=63284&op=diff
==============================================================================
--- trunk/libcatalyst-action-rest-perl/xt/version-numbers.t (original)
+++ trunk/libcatalyst-action-rest-perl/xt/version-numbers.t Mon Oct 4 00:31:26 2010
@@ -1,23 +1,30 @@
use strict;
use warnings;
+use FindBin qw/$Bin/;
+use File::Spec;
use File::Find::Rule;
use Module::Info;
-use Test::More qw( no_plan );
+use Test::More;
my %versions;
-for my $pm_file ( File::Find::Rule->file->name( qr/\.pm$/ )->in('lib' ) ) {
+for my $pm_file ( File::Find::Rule->file->name( qr/\.pm$/ )->in(File::Spec->catdir($Bin, '..', 'lib') ) ) {
my $mod = Module::Info->new_from_file($pm_file);
- ( my $stripped_file = $pm_file ) =~ s{^lib/}{};
+ ( my $stripped_file = $pm_file ) =~ s{.*/lib/}{};
$versions{$stripped_file} = $mod->version;
}
-my $moose_ver = $versions{'Catalyst/Action/REST.pm'};
+my $ver = delete $versions{'Catalyst/Action/REST.pm'};
+ok $ver;
+ok scalar(keys %versions);
-for my $module ( grep { $_ ne 'Catalyst/Action/REST.pm' } sort keys %versions ) {
- is( $versions{$module}, $moose_ver,
+for my $module ( sort keys %versions ) {
+ is( $versions{$module}, $ver,
"version for $module is the same as in Catalyst/Action/REST.pm" );
}
+
+done_testing;
+
More information about the Pkg-perl-cvs-commits
mailing list