Mercurial > hg > nginx-tests
changeset 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 | 9b737ad4260b |
children | d800b5ca9783 |
files | lib/Test/Nginx/HTTP2.pm |
diffstat | 1 files changed, 8 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/lib/Test/Nginx/HTTP2.pm +++ b/lib/Test/Nginx/HTTP2.pm @@ -24,7 +24,7 @@ my %cframe = ( # 2 => { name => 'PRIORITY', value => \&priority }, 3 => { name => 'RST_STREAM', value => \&rst_stream }, 4 => { name => 'SETTINGS', value => \&settings }, -# 5 => { name => 'PUSH_PROMISE', value => \&push_promise }, + 5 => { name => 'PUSH_PROMISE', value => \&push_promise }, 6 => { name => 'PING', value => \&ping }, 7 => { name => 'GOAWAY', value => \&goaway }, 8 => { name => 'WINDOW_UPDATE', value => \&window_update }, @@ -402,6 +402,13 @@ sub settings { return \%payload; } +sub push_promise { + my ($ctx, $buf, $len, $flags) = @_; + + { promised => unpack("N", $buf), + headers => hunpack($ctx, substr($buf, 4, $len), $len) }; +} + sub ping { my ($ctx, $buf, $len) = @_; return { value => unpack "A$len", $buf };