]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/Qspawn.pm
www: rework async_* to use method table
[public-inbox.git] / lib / PublicInbox / Qspawn.pm
index d395a10b3b156b1fac05facbad8a4eca04ef44c2..88b6d390a0721e529f31f9826144dad641aa067c 100644 (file)
@@ -25,8 +25,8 @@
 
 package PublicInbox::Qspawn;
 use strict;
-use warnings;
 use PublicInbox::Spawn qw(popen_rd);
+use PublicInbox::GzipFilter;
 
 # n.b.: we get EAGAIN with public-inbox-httpd, and EINTR on other PSGI servers
 use Errno qw(EAGAIN EINTR);
@@ -255,7 +255,9 @@ sub psgi_return_init_cb {
        my ($self) = @_;
        my $r = rd_hdr($self) or return;
        my $env = $self->{psgi_env};
-       my $filter = delete $env->{'qspawn.filter'};
+       my $filter = delete $env->{'qspawn.filter'} //
+               PublicInbox::GzipFilter::qsp_maybe($r->[1], $env);
+
        my $wcb = delete $env->{'qspawn.wcb'};
        my $async = delete $self->{async};
        if (scalar(@$r) == 3) { # error