diff options
Diffstat (limited to 'debian/vendor-h2o/t/50post-size-limit.t')
-rw-r--r-- | debian/vendor-h2o/t/50post-size-limit.t | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/debian/vendor-h2o/t/50post-size-limit.t b/debian/vendor-h2o/t/50post-size-limit.t deleted file mode 100644 index 970cdd8..0000000 --- a/debian/vendor-h2o/t/50post-size-limit.t +++ /dev/null @@ -1,77 +0,0 @@ -use strict; -use warnings; -use File::Temp qw(tempfile); -use Test::More; -use t::Util; - -my $server = spawn_h2o(<< 'EOT'); -hosts: - default: - paths: - /: - file.dir: examples/doc_root -limit-request-body: 6 -EOT - -subtest 'http1' => sub { - plan skip_all => 'curl not found' - unless prog_exists('curl'); - - my $doit = sub { - my ($proto, $port, $chunked) = @_; - my $url = "$proto://127.0.0.1:$port/"; - my $extra = ""; - if ($proto eq 'https') { - $extra .= " --insecure"; - $extra .= " --http1.1" - if curl_supports_http2(); - } - $extra .= " --header 'Transfer-Encoding: chunked'" - if $chunked; - subtest "$proto, @{[ $chunked ? 'chunked' : 'content-length' ]}" => sub { - my $resp = `curl --silent --dump-header /dev/stderr --data hello $extra $url 2>&1 > /dev/null`; - like $resp, qr{^HTTP/[^ ]+ 405\s}s, 'shorter than the limit'; - $resp = `curl --silent --dump-header /dev/stderr --data helloworld $extra $url 2>&1 > /dev/null`; - like $resp, qr{^HTTP/[^ ]+ 413\s}s, 'longer than the limit'; - }; - }; - $doit->("http", $server->{port}); - $doit->("http", $server->{port}, 1); - $doit->("https", $server->{tls_port}); - $doit->("https", $server->{tls_port}, 1); -}; - -subtest 'http2' => sub { - plan skip_all => 'nghttp not found' - unless prog_exists('nghttp'); - - my $doit = sub { - my ($proto, $opts, $port) = @_; - my $url = "$proto://127.0.0.1:$port/"; - { - my ($tempfh, $tempfn) = tempfile(UNLINK => 1); - print $tempfh 'hello'; - close $tempfh; - my $resp = `nghttp $opts -d $tempfn -s $url 2>&1`; - like $resp, qr/(^|\s)405(\s|$)/im, 'shorter than the limit'; - } - { - my ($tempfh, $tempfn) = tempfile(UNLINK => 1); - print $tempfh 'helloworld'; - close $tempfh; - my $resp = `nghttp $opts -v -d $tempfn -s $url 2>&1`; - like $resp, qr/recv RST_STREAM[^\n]*\n[^\n]*error_code=REFUSED_STREAM/is, 'longer than the limit'; - } - }; - subtest "http (direct)" => sub { - $doit->("http", "", $server->{port}); - }; - subtest "http (upgrade)" => sub { - $doit->("http", "-u", $server->{port}); - }; - subtest "https" => sub { - $doit->("https", "", $server->{tls_port}); - }; -}; - -done_testing(); |