X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst.pm;h=2e0332640b39970bda608cde9645aa8c667c414a;hb=d18964f7496b1456508c79f3bf5b90bfa32e9d6f;hp=068c10279d9069256c07e4ef13adb390ce589f91;hpb=18df061a03ed32f52a9a6332d30d58294f8ffba1;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst.pm b/lib/Catalyst.pm index 068c102..2e03326 100644 --- a/lib/Catalyst.pm +++ b/lib/Catalyst.pm @@ -1793,6 +1793,14 @@ sub finalize { $c->log->error($error); } + # Support skipping finalize for psgix.io style 'jailbreak'. Used to support + # stuff like cometd and websockets + + if($c->request->has_io_fh) { + $c->log_response; + return; + } + # Allow engine to handle finalize flow (for POE) my $engine = $c->engine; if ( my $code = $engine->can('finalize') ) { @@ -3177,6 +3185,17 @@ C - See L. =back +=item abort_chain_on_error_fix => 1 + +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 +can lead to running actions when the application is in an unexpected state. If +you have this issue, setting this config value to true will promptly exit a +chain when there is an error raised in any action (thus terminating the chain +early.) + +In the future this might become the default behavior. + =head1 INTERNAL ACTIONS Catalyst uses internal actions like C<_DISPATCH>, C<_BEGIN>, C<_AUTO>,