<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">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-&gt;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-&gt;prepare( env =&gt; $env, response_cb =&gt; $response_cb );
   $i_ctx-&gt;stash($stash);
   $i_ctx-&gt;dispatch;
   $i_ctx-&gt;finalize;
   $c-&gt;stats-&gt;profile( end =&gt; 'subrequest: ' . $path ) if $c-&gt;debug;
 
-  $i_ctx-&gt;response-&gt;body($writer-&gt;body);
+  if($writer-&gt;_is_closed) {
+    $i_ctx-&gt;response-&gt;body($writer-&gt;body);
+  }
 
   return $i_ctx-&gt;response;
 }
 
 package Catalyst::Plugin::SubRequest::Writer;
 use Moose;
 has body =&gt; (
</pre></body></html>