X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst.pm;h=55845cd2bd9206d9f29f58d63cbf4f625e86f893;hb=no_path_dispatch;hp=be5a5b51d8507a04614d2c44b08279cc23e8a7f8;hpb=4eaaffbe34447c54ae060895076598b9ee2c58b9;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst.pm b/lib/Catalyst.pm index be5a5b5..55845cd 100644 --- a/lib/Catalyst.pm +++ b/lib/Catalyst.pm @@ -113,7 +113,7 @@ __PACKAGE__->stats_class('Catalyst::Stats'); # Remember to update this in Catalyst::Runtime as well! -our $VERSION = '5.90020'; +our $VERSION = '5.90030'; sub import { my ( $class, @arguments ) = @_; @@ -1341,7 +1341,7 @@ sub uri_for { # join args with '/', or a blank string my $args = join('/', grep { defined($_) } @args); $args =~ s/\?/%3F/g; # STUPID STUPID SPECIAL CASE - $args =~ s!^/+!!i; + $args =~ s!^/+!!; my ($base, $class) = ('/', 'URI::_generic'); if(blessed($c)) { @@ -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') ) {