Mercurial > hg > nginx-tests
changeset 1721:6842b0f7fb9e
Tests: restored HTTP/2 request body tests with Content-Length.
This partially reverts 3a334b20208e, which prevented testing request body
with Content-Length. Arguably, it appeared as an early attempt to address
new implementation requirements in 0aa07850922f (1.9.15) for request body
flow control. After the HTTP/2 request body preread buffer introduction
in ce94f07d5082 (1.11.0), and emitting HTTP/2 SETTINGS acknowledgement in
tests since 48d277065309, it became barely necessary, if ever.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Tue, 20 Jul 2021 16:12:54 +0300 |
parents | efc502e696b0 |
children | 122002b19416 |
files | h2_request_body.t |
diffstat | 1 files changed, 16 insertions(+), 28 deletions(-) [+] |
line wrap: on
line diff
--- a/h2_request_body.t Tue Jul 20 16:12:53 2021 +0300 +++ b/h2_request_body.t Tue Jul 20 16:12:54 2021 +0300 @@ -84,8 +84,7 @@ # request body (uses proxied response) my $s = Test::Nginx::HTTP2->new(); -my $sid = $s->new_stream({ path => '/proxy2/t.html', body_more => 1 }); -$s->h2_body('TEST'); +my $sid = $s->new_stream({ path => '/proxy2/t.html', body => 'TEST' }); my $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); my ($frame) = grep { $_->{type} eq "HEADERS" } @$frames; @@ -95,8 +94,8 @@ # request body with padding (uses proxied response) $s = Test::Nginx::HTTP2->new(); -$sid = $s->new_stream({ path => '/proxy2/t.html', body_more => 1 }); -$s->h2_body('TEST', { body_padding => 42 }); +$sid = $s->new_stream( + { path => '/proxy2/t.html', body => 'TEST', body_padding => 42 }); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "HEADERS" } @$frames; @@ -114,8 +113,8 @@ # request body sent in multiple DATA frames in a single packet $s = Test::Nginx::HTTP2->new(); -$sid = $s->new_stream({ path => '/proxy2/t.html', body_more => 1 }); -$s->h2_body('TEST', { body_split => [2] }); +$sid = $s->new_stream( + { path => '/proxy2/t.html', body => 'TEST', body_split => [2] }); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "HEADERS" } @$frames; @@ -143,8 +142,7 @@ # "zero size buf in output" alerts seen $s = Test::Nginx::HTTP2->new(); -$sid = $s->new_stream({ path => '/proxy2/', body_more => 1 }); -$s->h2_body(''); +$sid = $s->new_stream({ path => '/proxy2/', body => '' }); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "HEADERS" } @$frames; @@ -178,25 +176,23 @@ # malformed request body length not equal to content-length $s = Test::Nginx::HTTP2->new(); -$sid = $s->new_stream({ body_more => 1, headers => [ +$sid = $s->new_stream({ body => 'TEST', headers => [ { name => ':method', value => 'GET', mode => 0 }, { name => ':scheme', value => 'http', mode => 0 }, { name => ':path', value => '/client_max_body_size', mode => 1 }, { name => ':authority', value => 'localhost', mode => 1 }, { name => 'content-length', value => '5', mode => 1 }]}); -$s->h2_body('TEST'); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "HEADERS" } @$frames; is($frame->{headers}->{':status'}, 400, 'request body less than content-length'); -$sid = $s->new_stream({ body_more => 1, headers => [ +$sid = $s->new_stream({ body => 'TEST', headers => [ { name => ':method', value => 'GET', mode => 0 }, { name => ':scheme', value => 'http', mode => 0 }, { name => ':path', value => '/client_max_body_size', mode => 1 }, { name => ':authority', value => 'localhost', mode => 1 }, { name => 'content-length', value => '3', mode => 1 }]}); -$s->h2_body('TEST'); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "HEADERS" } @$frames; @@ -206,8 +202,7 @@ $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ path => '/client_max_body_size/t.html', - body_more => 1 }); -$s->h2_body('TESTTEST12'); + body => 'TESTTEST12' }); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "HEADERS" } @$frames; @@ -219,8 +214,7 @@ $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ path => '/client_max_body_size/t.html', - body_more => 1 }); -$s->h2_body('TESTTEST123'); + body => 'TESTTEST123' }); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "HEADERS" } @$frames; @@ -230,8 +224,7 @@ $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ path => '/client_max_body_size/t.html', - body_more => 1 }); -$s->h2_body('TESTTEST12', { body_split => [2] }); + body => 'TESTTEST12', body_split => [2] }); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "HEADERS" } @$frames; @@ -243,8 +236,7 @@ $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ path => '/client_max_body_size/t.html', - body_more => 1 }); -$s->h2_body('TESTTEST123', { body_split => [2] }); + body => 'TESTTEST123', body_split => [2] }); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "HEADERS" } @$frames; @@ -254,8 +246,7 @@ $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ path => '/client_max_body_size/t.html', - body_more => 1 }); -$s->h2_body('TESTTEST12', { body_padding => 42 }); + body => 'TESTTEST12', body_padding => 42 }); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "HEADERS" } @$frames; @@ -267,8 +258,7 @@ $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ path => '/client_max_body_size/t.html', - body_more => 1 }); -$s->h2_body('TESTTEST123', { body_padding => 42 }); + body => 'TESTTEST123', body_padding => 42 }); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "HEADERS" } @$frames; @@ -278,8 +268,7 @@ $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ path => '/client_max_body_size/t.html', - body_more => 1 }); -$s->h2_body('TESTTEST12', { body_padding => 42, body_split => [2] }); + body => 'TESTTEST12', body_padding => 42, body_split => [2] }); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "HEADERS" } @$frames; @@ -292,8 +281,7 @@ $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ path => '/client_max_body_size/t.html', - body_more => 1 }); -$s->h2_body('TESTTEST123', { body_padding => 42, body_split => [2] }); + body => 'TESTTEST123', body_padding => 42, body_split => [2] }); $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); ($frame) = grep { $_->{type} eq "HEADERS" } @$frames;