]> Sergey Matveev's repositories - public-inbox.git/blobdiff - t/httpd-corner.psgi
fixup Plack-related requires
[public-inbox.git] / t / httpd-corner.psgi
index 1947f37600a3928ebb37f4aaf40dfc0be3d3207d..c3bf5231e209c9bc98edea0316183eefc9f58886 100644 (file)
@@ -4,7 +4,6 @@
 # Usage: plackup [OPTIONS] /path/to/this/file
 use strict;
 use warnings;
-use Plack::Request;
 use Plack::Builder;
 require Digest::SHA;
 my $app = sub {
@@ -26,7 +25,27 @@ my $app = sub {
                }
                $code = 200;
                push @$body, $sha1->hexdigest;
+       } elsif (my $fifo = $env->{HTTP_X_CHECK_FIFO}) {
+               if ($path eq '/slow-header') {
+                       return sub {
+                               open my $f, '<', $fifo or
+                                               die "open $fifo: $!\n";
+                               my @r = <$f>;
+                               $_[0]->([200, $h, \@r ]);
+                       };
+               } elsif ($path eq '/slow-body') {
+                       return sub {
+                               my $fh = $_[0]->([200, $h]);
+                               open my $f, '<', $fifo or
+                                               die "open $fifo: $!\n";
+                               while (defined(my $l = <$f>)) {
+                                       $fh->write($l);
+                               }
+                               $fh->close;
+                       };
+               }
        }
+
        [ $code, $h, $body ]
 };