X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=lib%2FCatalyst.pm;h=57d4928107cd2e95f9cc9829848f5b585829d74c;hp=18a6e7b9620438f39d64898b6f610e34dc29ea9a;hb=1c9c3b77c6192f4cdb713b60ee9472b112a43d5a;hpb=9d77b559afd856d76549645c55811abca8661563 diff --git a/lib/Catalyst.pm b/lib/Catalyst.pm index 18a6e7b..57d4928 100644 --- a/lib/Catalyst.pm +++ b/lib/Catalyst.pm @@ -205,7 +205,7 @@ sub composed_stats_class { __PACKAGE__->_encode_check(Encode::FB_CROAK | Encode::LEAVE_SRC); # Remember to update this in Catalyst::Runtime as well! -our $VERSION = '5.90116'; +our $VERSION = '5.90117'; $VERSION = eval $VERSION if $VERSION =~ /_/; # numify for warning-free dev releases sub import { @@ -1769,7 +1769,7 @@ and it will create the URI /users/the-list. =item \@captures_and_args? -Optional array reference of Captures (i.e. C<req->captures>) +Optional array reference of Captures (i.e. C or C<< $c->req->captures >>) and arguments to the request. Usually used with L to interpolate all the parameters in the URI. @@ -3252,7 +3252,7 @@ component or component object. Example: my $config = MyApp->config_for('MyApp::Model::Foo'); -In this case $config is the hashref C< {a=>1, b=>2} >. +In this case $config is the hashref C<< {a=>1, b=>2} >>. This is also handy for looking up configuration for a plugin, to make sure you follow existing L standards for where a plugin should put its configuration. @@ -4014,14 +4014,14 @@ only two default data handlers, for 'application/json' and an alternative to 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. +data structure. It uses L. 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 -order to get the best performance. You should add either to your dependency -list (Makefile.PL, dist.ini, cpanfile, etc.) +use this new feature we recommend installing L in order to get +the best performance. You should add either to your dependency list +(Makefile.PL, dist.ini, cpanfile, etc.) =cut @@ -4056,12 +4056,12 @@ sub default_data_handlers { }, 'application/json' => sub { my ($fh, $req) = @_; - my $parser = Class::Load::load_first_existing_class('JSON::MaybeXS', 'JSON'); + require JSON::MaybeXS; my $slurped; return eval { local $/; $slurped = $fh->getline; - $parser->can("decode_json")->($slurped); # decode_json does utf8 decoding for us + JSON::MaybeXS::decode_json($slurped); # decode_json does utf8 decoding for us } || Catalyst::Exception->throw(sprintf "Error Parsing POST '%s', Error: %s", (defined($slurped) ? $slurped : 'undef') ,$@); }, }; @@ -4095,7 +4095,7 @@ L, but can be set otherwise with L<< stats_class|/"$c->stats_class" >>. Even if L<< -Stats|/"-Stats" >> is not enabled, the stats object is still -available. By enabling it with C< $c->stats->enabled(1) >, it can be used to +available. By enabling it with C<< $c->stats->enabled(1) >>, it can be used to profile explicitly, although MyApp.pm still won't profile nor output anything by itself. @@ -4587,7 +4587,7 @@ that parses that content type into something Perl can readily access. package MyApp::Web; use Catalyst; - use JSON::Maybe; + use JSON::MaybeXS; __PACKAGE__->config( data_handlers => { @@ -4599,7 +4599,7 @@ that parses that content type into something Perl can readily access. __PACKAGE__->setup; By default L comes with a generic JSON data handler similar to the -example given above, which uses L to provide either L +example given above, which uses L to provide either L (a pure Perl, dependency free JSON parser) or L if you have it installed (if you want the faster XS parser, add it to you project Makefile.PL or dist.ini, cpanfile, etc.)