Mercurial > hg > nginx-tests
comparison lib/Test/Nginx/HTTP2.pm @ 1274:0f0ad7acb314
Tests: basic HTTP/2 PUSH_PROMISE support.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Tue, 30 Jan 2018 15:33:26 +0300 |
parents | 24e175025ad8 |
children | 6d065c9a3b1f |
comparison
equal
deleted
inserted
replaced
1273:9b737ad4260b | 1274:0f0ad7acb314 |
---|---|
22 0 => { name => 'DATA', value => \&data }, | 22 0 => { name => 'DATA', value => \&data }, |
23 1 => { name => 'HEADERS', value => \&headers }, | 23 1 => { name => 'HEADERS', value => \&headers }, |
24 # 2 => { name => 'PRIORITY', value => \&priority }, | 24 # 2 => { name => 'PRIORITY', value => \&priority }, |
25 3 => { name => 'RST_STREAM', value => \&rst_stream }, | 25 3 => { name => 'RST_STREAM', value => \&rst_stream }, |
26 4 => { name => 'SETTINGS', value => \&settings }, | 26 4 => { name => 'SETTINGS', value => \&settings }, |
27 # 5 => { name => 'PUSH_PROMISE', value => \&push_promise }, | 27 5 => { name => 'PUSH_PROMISE', value => \&push_promise }, |
28 6 => { name => 'PING', value => \&ping }, | 28 6 => { name => 'PING', value => \&ping }, |
29 7 => { name => 'GOAWAY', value => \&goaway }, | 29 7 => { name => 'GOAWAY', value => \&goaway }, |
30 8 => { name => 'WINDOW_UPDATE', value => \&window_update }, | 30 8 => { name => 'WINDOW_UPDATE', value => \&window_update }, |
31 9 => { name => 'CONTINUATION', value => \&continuation }, | 31 9 => { name => 'CONTINUATION', value => \&continuation }, |
32 ); | 32 ); |
398 $payload{$id} = unpack "\@$skip N", $buf; $skip += 4; | 398 $payload{$id} = unpack "\@$skip N", $buf; $skip += 4; |
399 | 399 |
400 $ctx->{iws} = $payload{$id} if $id == 4; | 400 $ctx->{iws} = $payload{$id} if $id == 4; |
401 } | 401 } |
402 return \%payload; | 402 return \%payload; |
403 } | |
404 | |
405 sub push_promise { | |
406 my ($ctx, $buf, $len, $flags) = @_; | |
407 | |
408 { promised => unpack("N", $buf), | |
409 headers => hunpack($ctx, substr($buf, 4, $len), $len) }; | |
403 } | 410 } |
404 | 411 |
405 sub ping { | 412 sub ping { |
406 my ($ctx, $buf, $len) = @_; | 413 my ($ctx, $buf, $len) = @_; |
407 return { value => unpack "A$len", $buf }; | 414 return { value => unpack "A$len", $buf }; |