you should remove it from your plugin list, HOWEVER the 'encoding' config
setting is now undef, rather than 'UTF-8' (this was done to avoid breaking
people's existing applications) so you should add the encoding setting to
- you global config (See Catalyst::Upgrading for more).
+ you global config. There's some other changes between the stand alone
+ plugin and the cored version, if you use it be sure to see Catalyst::Upgrading
+ for more.
- minor documentation typo fixes and updates
5.90030 - 2013-04-12
test_requires 'HTTP::Request::Common';
test_requires 'IO::Scalar';
test_requires 'HTTP::Status';
+test_requires 'Catalyst::Plugin::Params::Nested';
# aggregate tests if AGGREGATE_TESTS is set and a recent Test::Aggregate and a Test::Simple it works with is available
my @author_requires;
at other URIs than that which the app is 'normally' based at with C<mod_rewrite>), the resolution of
C<< $c->request->base >> will be incorrect.
-=back
+=back
=item *
C<encoding> - See L</ENCODING>
-=back
+=item *
-=item abort_chain_on_error_fix => 1
+C<abort_chain_on_error_fix>
When there is an error in an action chain, the default behavior is to continue
processing the remaining actions and then catch the error upon chain end. This
chain when there is an error raised in any action (thus terminating the chain
early.)
+use like:
+
+ __PACKAGE__->config(abort_chain_on_error_fix => 1);
+
In the future this might become the default behavior.
+=back
+
=head1 INTERNAL ACTIONS
Catalyst uses internal actions like C<_DISPATCH>, C<_BEGIN>, C<_AUTO>,
lazy=>1,
builder=>'_build_io_fh');
- sub _build_io_fh {
+sub _build_io_fh {
my $self = shift;
return $self->env->{'psgix.io'}
|| die "Your Server does not support psgix.io";
- };
+};
+has body_fh => (
+ is=>'ro',
+ predicate=>'has_body_fh',
+ lazy=>1,
+ builder=>'_build_body_fh');
+
+sub _build_body_fh {
+ (my $input_fh = shift->env->{'psgi.input'})->seek(0, 0);
+ return $input_fh;
+};
# Amount of data to read from input on each pass
our $CHUNKSIZE = 64 * 1024;
we detect this, but this backwards compatibility shim will likely be removed in
a few releases (trying to clean up the codebase after all).
+B<NOTE>: One other difference between the cored plugin and the stand alone one
+is that in core we no longer throw an exception when there's a decode failure
+but instead log a warning. If you rely on exceptions for control flow, you
+will need to override method C<handle_unicode_encoding_exception> to die instead
+of warning. Please let the dev team know if this is a problem for you.
+
If you have trouble with any of this, please bring it to the attention of the
Catalyst maintainer group.
inline INLINE plugins cpanfile
FastCGI Stringifies Rethrows DispatchType Wishlist Refactor ROADMAP HTTPS Unescapes Restarter Nginx Refactored
ActionClass LocalRegex LocalRegexp MyAction metadata cometd io psgix websockets
+ UTF async codebase dev filenames params
Andreas
Ashton
Axel