I initially wanted to rename GzipFilter->write to
GzipFilter->writev to reflect the multi-argument nature of the
sub, and it wasn't worth the memory to maintain an alias.
---
 lib/PublicInbox/HTTPD/Async.pm | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/lib/PublicInbox/HTTPD/Async.pm b/lib/PublicInbox/HTTPD/Async.pm
index 1651da88..cb76cfab 100644
--- a/lib/PublicInbox/HTTPD/Async.pm
+++ b/lib/PublicInbox/HTTPD/Async.pm
@@ -1,4 +1,4 @@
-# Copyright (C) 2016-2021 all contributors <[email protected]>
+# Copyright (C) all contributors <[email protected]>
 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
 #
 # XXX This is a totally unstable API for public-inbox internal use only
@@ -77,8 +77,11 @@ sub async_pass {
        # will automatically close this ($self) object.
        $http->{forward} = $self;
 
-       # write anything we overread when we were reading headers
-       $fh->write($$bref); # PublicInbox:HTTP::{chunked,identity}_wcb
+       # write anything we overread when we were reading headers.
+       # This is typically PublicInbox:HTTP::{chunked,identity}_wcb,
+       # but may be PublicInbox::GzipFilter::write.  PSGI requires
+       # *_wcb methods respond to ->write (and ->close), not ->print
+       $fh->write($$bref);
 
        # we're done with this, free this memory up ASAP since the
        # calls after this may use much memory:

Reply via email to