X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=lib%2FCatalyst.pm;h=310eafe6e5eef3255ce25c9db847dd33faeb27b8;hp=f65448c00444701e6e6ef2ebbb3b32438f4f1197;hb=fc89737e02828d5d94c5271c74fb173ad29b28ca;hpb=f152ae23b886a4f0bcfaeaf401ea2bf71cd30ab1 diff --git a/lib/Catalyst.pm b/lib/Catalyst.pm index f65448c..310eafe 100644 --- a/lib/Catalyst.pm +++ b/lib/Catalyst.pm @@ -120,7 +120,7 @@ __PACKAGE__->stats_class('Catalyst::Stats'); # Remember to update this in Catalyst::Runtime as well! -our $VERSION = '5.90049_004'; +our $VERSION = '5.90051'; sub import { my ( $class, @arguments ) = @_; @@ -1837,7 +1837,7 @@ sub finalize { # Support skipping finalize for psgix.io style 'jailbreak'. Used to support # stuff like cometd and websockets - if($c->request->has_io_fh) { + if($c->request->_has_io_fh) { $c->log_response; return; } @@ -3167,12 +3167,15 @@ you really don't need to invoke it. =head2 default_data_handlers -Default Data Handlers that come bundled with L. Currently there is -only one default data handler, for 'application/json'. This is used to parse -incoming JSON into a Perl data structure. It used either L or -L, depending on which is installed. This allows you to fail back to -L, which is a Pure Perl JSON decoder, and has the smallest dependency -impact. +Default Data Handlers that come bundled with L. Currently there are +only two default data handlers, for 'application/json' and an alternative to +'application/x-www-form-urlencoded' which supposed nested form parameters via +L or via L IF you've installed it. + +The 'application/json' data handler is used to parse incoming JSON into a Perl +data structure. It used either L or L, depending on which +is installed. This allows you to fail back to L, which is a Pure Perl +JSON decoder, and has the smallest dependency impact. Because we don't wish to add more dependencies to L, if you wish to use this new feature we recommend installing L or L in @@ -3205,9 +3208,9 @@ sub default_data_handlers { return +{ 'application/x-www-form-urlencoded' => sub { my ($fh, $req) = @_; - my $params = $req->_use_hash_multivalue ? $self->body_parameters->mixed : $self->body_parameters; + my $params = $req->_use_hash_multivalue ? $req->body_parameters->mixed : $req->body_parameters; Class::Load::load_first_existing_class('CGI::Struct::XS', 'CGI::Struct') - ->('build_cgi_struct')->($params) + ->can('build_cgi_struct')->($params); }, 'application/json' => sub { Class::Load::load_first_existing_class('JSON::MaybeXS', 'JSON')