]> Sergey Matveev's repositories - public-inbox.git/blobdiff - t/httpd-corner.psgi
update copyrights for 2021
[public-inbox.git] / t / httpd-corner.psgi
index 35d1216ec761e92134647ae50dec3a8bd8565f2a..5436a74dc56e71fb8ff87614dac1a462ae4eefe8 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2016-2020 all contributors <meta@public-inbox.org>
+# Copyright (C) 2016-2021 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,6 +85,29 @@ 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 '/psgi-return-compressible') {
+               require PublicInbox::Qspawn;
+               my $cmd = [qw(echo goodbye world)];
+               my $qsp = PublicInbox::Qspawn->new($cmd);
+               return $qsp->psgi_return($env, undef, sub {
+                       [200, [qw(Content-Type text/plain)]]
+               });
+       } elsif ($path eq '/psgi-return-enoent') {
+               require PublicInbox::Qspawn;
+               my $cmd = [ 'this-better-not-exist-in-PATH'.rand ];
+               my $qsp = PublicInbox::Qspawn->new($cmd);
+               return $qsp->psgi_return($env, undef, sub {
+                       [ 200, [ qw(Content-Type application/octet-stream)]]
+               });
        } elsif ($path eq '/pid') {
                $code = 200;
                push @$body, "$$\n";