]> Sergey Matveev's repositories - public-inbox.git/blobdiff - t/httpd-corner.psgi
qspawn: reinstate filter support, add gzip filter
[public-inbox.git] / t / httpd-corner.psgi
index bf38d1ff7995ddf1c8ee2447ccf1c956147f9419..f2427234c05afa8803868c25168af0c01a0d7a90 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2016-2019 all contributors <meta@public-inbox.org>
+# Copyright (C) 2016-2020 all contributors <meta@public-inbox.org>
 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
 # corner case tests for the generic PSGI server
 # Usage: plackup [OPTIONS] /path/to/this/file
@@ -85,9 +85,18 @@ my $app = sub {
                        close $null;
                        [ 200, [ qw(Content-Type application/octet-stream) ]];
                });
+       } elsif ($path eq '/psgi-return-gzip') {
+               require PublicInbox::Qspawn;
+               require PublicInbox::GzipFilter;
+               my $cmd = [qw(echo hello world)];
+               my $qsp = PublicInbox::Qspawn->new($cmd);
+               $env->{'qspawn.filter'} = PublicInbox::GzipFilter->new;
+               return $qsp->psgi_return($env, undef, sub {
+                       [ 200, [ qw(Content-Type application/octet-stream)]]
+               });
        } elsif ($path eq '/pid') {
                $code = 200;
-               push @$body, $$;
+               push @$body, "$$\n";
        }
 
        [ $code, $h, $body ]