X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=t%2Fhttpd-corner.psgi;h=c3bf5231e209c9bc98edea0316183eefc9f58886;hb=c3509baca0b103a0c9d034de06f3ddc5fc9426fd;hp=1947f37600a3928ebb37f4aaf40dfc0be3d3207d;hpb=dbaf64b646943bd92e1aa8d581e23a5adb4a3e57;p=public-inbox.git diff --git a/t/httpd-corner.psgi b/t/httpd-corner.psgi index 1947f376..c3bf5231 100644 --- a/t/httpd-corner.psgi +++ b/t/httpd-corner.psgi @@ -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 ] };