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 ###############################################################################