spelling fixes and more docs
John Napiorkowski [Wed, 23 Oct 2013 19:08:52 +0000 (14:08 -0500)]
Makefile.PL
lib/Catalyst.pm
lib/Catalyst/ActionRole/ConsumesContent.pm

index f634e4b..33a73a6 100644 (file)
@@ -74,6 +74,7 @@ requires 'JSON::MaybeXS' => '1.000000';
 requires 'Stream::Buffered';
 requires 'Hash::MultiValue';
 requires 'Plack::Request::Upload';
+requires 'CGI::Struct';
 
 # Install the standalone Regex dispatch modules in order to ease the
 # deprecation transition
index f65448c..ae07a90 100644 (file)
@@ -3167,12 +3167,15 @@ you really don't need to invoke it.
 
 =head2 default_data_handlers
 
-Default Data Handlers that come bundled with L<Catalyst>.  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<JSON::MaybeXS> or
-L<JSON>, depending on which is installed.  This allows you to fail back to
-L<JSON:PP>, which is a Pure Perl JSON decoder, and has the smallest dependency
-impact.
+Default Data Handlers that come bundled with L<Catalyst>.  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<CGI::Struct> or via L<CGI::Struct::XS> 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<JSON::MaybeXS> or L<JSON>, depending on which
+is installed.  This allows you to fail back to L<JSON:PP>, which is a Pure Perl
+JSON decoder, and has the smallest dependency impact.
 
 Because we don't wish to add more dependencies to L<Catalyst>, if you wish to
 use this new feature we recommend installing L<JSON> or L<JSON::MaybeXS> 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)
+            ->('build_cgi_struct')->($params);
       },
       'application/json' => sub {
           Class::Load::load_first_existing_class('JSON::MaybeXS', 'JSON')
index c339197..07315c8 100644 (file)
@@ -2,7 +2,7 @@ package Catalyst::ActionRole::ConsumesContent;
 
 use Moose::Role;
 
-requires 'match', 'match_captures';
+requires 'match', 'match_captures', 'list_extra_info';
 
 has allowed_content_types => (
   is=>'ro',
@@ -148,6 +148,10 @@ An array of strings that are the allowed content types for matching this action.
 Boolean.  Does the current request match content type with what this actionrole
 can consume?
 
+=head2 list_extra_info
+
+Add the accepted content type to the debug screen.
+
 =head1 AUTHORS
 
 Catalyst Contributors, see Catalyst.pm