comparison lib/Test/Nginx/HTTP2.pm @ 1218:24e175025ad8

Tests: minimal handling of HTTP/2 dynamic table size update.
author Maxim Dounin <mdounin@mdounin.ru>
date Tue, 12 Sep 2017 05:34:31 +0300
parents eb813f7e0bfa
children 0f0ad7acb314
comparison
equal deleted inserted replaced
1217:7df2265e61be 1218:24e175025ad8
728 sub hunpack { 728 sub hunpack {
729 my ($ctx, $data, $length) = @_; 729 my ($ctx, $data, $length) = @_;
730 my $table = $ctx->{dynamic_decode}; 730 my $table = $ctx->{dynamic_decode};
731 my %headers; 731 my %headers;
732 my $skip = 0; 732 my $skip = 0;
733 my ($index, $name, $value); 733 my ($index, $name, $value, $size);
734 734
735 my $field = sub { 735 my $field = sub {
736 my ($b) = @_; 736 my ($b) = @_;
737 my ($len, $s, $huff) = iunpack(7, @_); 737 my ($len, $s, $huff) = iunpack(7, @_);
738 738
780 ($value, $skip) = $field->($data, $skip); 780 ($value, $skip) = $field->($data, $skip);
781 781
782 $add->(\%headers, $name, $value); 782 $add->(\%headers, $name, $value);
783 next; 783 next;
784 } 784 }
785
786 if (substr($ib, 0, 3) eq '001') {
787 ($size, $skip) = iunpack(5, $data, $skip);
788
789 # TODO: handle dynamic table size update
790
791 next;
792 }
793
785 last; 794 last;
786 } 795 }
787 796
788 return \%headers; 797 return \%headers;
789 } 798 }