Mercurial > hg > nginx-tests
comparison h2_server_push.t @ 1283:16f091962811
Tests: added h2_server_push.t test for missing ':authority'.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Tue, 13 Feb 2018 13:36:37 +0300 |
parents | fd281e3a3df5 |
children | 52873012ab26 |
comparison
equal
deleted
inserted
replaced
1282:fd281e3a3df5 | 1283:16f091962811 |
---|---|
126 | 126 |
127 $t->write_file('t1', join('', map { sprintf "X%04dXXX", $_ } (1 .. 8202))); | 127 $t->write_file('t1', join('', map { sprintf "X%04dXXX", $_ } (1 .. 8202))); |
128 $t->write_file('t2', 'SEE-THIS'); | 128 $t->write_file('t2', 'SEE-THIS'); |
129 $t->write_file('explf', join('', map { sprintf "X%06dXXX", $_ } (1 .. 6553))); | 129 $t->write_file('explf', join('', map { sprintf "X%06dXXX", $_ } (1 .. 6553))); |
130 | 130 |
131 $t->try_run('no http2_push')->plan(37); | 131 $t->try_run('no http2_push')->plan(38); |
132 | 132 |
133 ############################################################################### | 133 ############################################################################### |
134 | 134 |
135 # preload & format | 135 # preload & format |
136 | 136 |
365 { name => ':authority', value => 'max_pushes', mode => 1 }]}); | 365 { name => ':authority', value => 'max_pushes', mode => 1 }]}); |
366 $frames = $s->read(all => [{ sid => $sid, fin => 1 }, { sid => 2, fin => 1 }]); | 366 $frames = $s->read(all => [{ sid => $sid, fin => 1 }, { sid => 2, fin => 1 }]); |
367 push @$frames, @{ $s->read(all => [{ sid => 4, fin => 1 }], wait => 0.2) }; | 367 push @$frames, @{ $s->read(all => [{ sid => 4, fin => 1 }], wait => 0.2) }; |
368 is(grep({ $_->{type} eq "PUSH_PROMISE" } @$frames), 1, 'http2 max pushes 2'); | 368 is(grep({ $_->{type} eq "PUSH_PROMISE" } @$frames), 1, 'http2 max pushes 2'); |
369 | 369 |
370 # missing request header ':authority' | |
371 | |
372 $s = Test::Nginx::HTTP2->new(port(8082)); | |
373 $sid = $s->new_stream({ headers => [ | |
374 { name => ':method', value => 'GET', mode => 0 }, | |
375 { name => ':scheme', value => 'http', mode => 0 }, | |
376 { name => ':path', value => '/', mode => 0 }]}); | |
377 $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); | |
378 | |
379 ($frame) = grep { $_->{type} eq "HEADERS" } @$frames; | |
380 is($frame->{headers}->{':status'}, 400, 'incomplete headers'); | |
381 | |
370 ############################################################################### | 382 ############################################################################### |