X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=lib%2FCatalyst.pm;fp=lib%2FCatalyst.pm;h=17605d40bd5eb83df992d23a49cd62f168f0d335;hp=a6170d322cd132dab712ea38ea1d3c0e3dea0fd4;hb=409d48fb495802db8eb6e02a927dd2915d8643b4;hpb=4fb27043578a31f1ffd7498d1097c817a932d173 diff --git a/lib/Catalyst.pm b/lib/Catalyst.pm index a6170d3..17605d4 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') ) { @@ -3197,6 +3205,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>,