# HG changeset patch # User Sergey Kandaurov # Date 1566304743 -10800 # Node ID c9d7e2a26b2d418106383908b90bb1154e5372f3 # Parent 63a74974a0e9691109c307052f623b6d4f121d78 Tests: HTTP/2 request body preread of DATA without END_STREAM. diff --git a/h2_request_body_preread.t b/h2_request_body_preread.t --- a/h2_request_body_preread.t +++ b/h2_request_body_preread.t @@ -89,7 +89,7 @@ http { EOF $t->write_file('t', ''); -$t->run()->plan(8); +$t->run()->plan(9); ############################################################################### @@ -129,6 +129,21 @@ is($frame->{code}, 3, 'beyond preread - ($frame) = grep { $_->{type} eq "HEADERS" } @$frames; is($frame->{headers}->{'x-body'}, 'TEST', 'within preread limited'); +# processing request body without END_STREAM in preread + +$sid = $s->new_stream({ path => '/req', body_more => 1, continuation => 1 }); +$s->h2_continue($sid, + { headers => [{ name => 'content-length', value => '8' }]}); + +$s->h2_body('SEE', { body_more => 1 }); +$s->read(all => [{ type => 'WINDOW_UPDATE' }]); + +$s->h2_body('-THIS'); +$frames = $s->read(all => [{ sid => $sid, fin => 1 }]); + +($frame) = grep { $_->{type} eq "HEADERS" } @$frames; +is($frame->{headers}->{'x-body'}, 'SEE-THIS', 'within preread limited - more'); + # beyond preread size - limited $s = Test::Nginx::HTTP2->new();