=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
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')
use Moose::Role;
-requires 'match', 'match_captures';
+requires 'match', 'match_captures', 'list_extra_info';
has allowed_content_types => (
is=>'ro',
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