Description: compatibility with Catalyst 5.9 Taken from https://gist.github.com/jjn1056/9947765 Author: John Napiorkowski Bug: https://rt.cpan.org/Public/Bug/Display.html?id=94392 Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=747502 --- a/lib/Catalyst/Plugin/SubRequest.pm +++ b/lib/Catalyst/Plugin/SubRequest.pm @@ -102,18 +102,29 @@ sub sub_request_response { # need this so that my $writer = Catalyst::Plugin::SubRequest::Writer->new; - my $response_cb = sub { $writer }; + my $response_cb = sub { + my $response = shift; + my ($status, $headers, $body) = @$response; + if($body) { + return; + } else { + return $writer; + } + }; + my $i_ctx = $class->prepare( env => $env, response_cb => $response_cb ); $i_ctx->stash($stash); $i_ctx->dispatch; $i_ctx->finalize; $c->stats->profile( end => 'subrequest: ' . $path ) if $c->debug; - $i_ctx->response->body($writer->body); + if($writer->_is_closed) { + $i_ctx->response->body($writer->body); + } return $i_ctx->response; } package Catalyst::Plugin::SubRequest::Writer; use Moose; has body => (