From c48461bffcbac4cf4c400e1edabc6da528cc45d3 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 10 Sep 2022 08:17:23 +0000 Subject: [PATCH] httpd/async: describe which ->write subs it can call 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 +# Copyright (C) all contributors # License: AGPL-3.0+ # # 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: -- 2.44.0