Mercurial > hg > nginx-tests
annotate h2_server_tokens.t @ 1982:fb25cbe9d4ec
Tests: explicit Valgrind support.
Valgrind logging is done to a separate file, as it is not able to
follow stderr redirection within nginx or append to a file without
corrupting it. Further, Valgrind logging seems to interfere with
error suppression in tests, and catches various startup errors and
warnings, so the log is additionally filtered.
Since startup under Valgrind can be really slow, timeout in waitforfile()
was changed to 10 seconds.
Prodded by Robert Mueller.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Fri, 31 May 2024 06:23:00 +0300 |
parents | 78452573505c |
children | 11463d379570 |
rev | line source |
---|---|
880
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
1 #!/usr/bin/perl |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
2 |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
3 # (C) Andrey Zelenkov |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
4 # (C) Nginx, Inc. |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
5 |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
6 # Tests for HTTP/2 protocol with server_tokens directive. |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
7 |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
8 ############################################################################### |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
9 |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
10 use warnings; |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
11 use strict; |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
12 |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
13 use Test::More; |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
14 |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
15 BEGIN { use FindBin; chdir($FindBin::Bin); } |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
16 |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
17 use lib 'lib'; |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
18 use Test::Nginx; |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
19 use Test::Nginx::HTTP2; |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
20 |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
21 ############################################################################### |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
22 |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
23 select STDERR; $| = 1; |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
24 select STDOUT; $| = 1; |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
25 |
1900
236d038dc04a
Tests: suppress "listen .. http2;" deprecation warnings.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1859
diff
changeset
|
26 my $t = Test::Nginx->new()->has(qw/http http_v2 rewrite/)->plan(12) |
880
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
27 ->write_file_expand('nginx.conf', <<'EOF'); |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
28 |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
29 %%TEST_GLOBALS%% |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
30 |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
31 daemon off; |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
32 |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
33 events { |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
34 } |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
35 |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
36 http { |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
37 %%TEST_GLOBALS_HTTP%% |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
38 |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
39 server { |
974
882267679006
Tests: simplified parallel modifications in tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
952
diff
changeset
|
40 listen 127.0.0.1:8080 http2; |
880
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
41 server_name localhost; |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
42 |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
43 location /200 { |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
44 return 200; |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
45 } |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
46 |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
47 location /404 { |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
48 return 404; |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
49 } |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
50 |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
51 location /off { |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
52 server_tokens off; |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
53 |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
54 location /off/200 { |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
55 return 200; |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
56 } |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
57 |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
58 location /off/404 { |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
59 return 404; |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
60 } |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
61 } |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
62 |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
63 location /on { |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
64 server_tokens on; |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
65 |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
66 location /on/200 { |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
67 return 200; |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
68 } |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
69 |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
70 location /on/404 { |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
71 return 404; |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
72 } |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
73 } |
1121
c883d3d3a3ab
Tests: server_tokens build tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1120
diff
changeset
|
74 |
c883d3d3a3ab
Tests: server_tokens build tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1120
diff
changeset
|
75 location /b { |
c883d3d3a3ab
Tests: server_tokens build tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1120
diff
changeset
|
76 server_tokens build; |
c883d3d3a3ab
Tests: server_tokens build tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1120
diff
changeset
|
77 |
c883d3d3a3ab
Tests: server_tokens build tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1120
diff
changeset
|
78 location /b/200 { |
c883d3d3a3ab
Tests: server_tokens build tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1120
diff
changeset
|
79 return 200; |
c883d3d3a3ab
Tests: server_tokens build tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1120
diff
changeset
|
80 } |
c883d3d3a3ab
Tests: server_tokens build tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1120
diff
changeset
|
81 |
c883d3d3a3ab
Tests: server_tokens build tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1120
diff
changeset
|
82 location /b/404 { |
c883d3d3a3ab
Tests: server_tokens build tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1120
diff
changeset
|
83 return 404; |
c883d3d3a3ab
Tests: server_tokens build tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1120
diff
changeset
|
84 } |
c883d3d3a3ab
Tests: server_tokens build tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1120
diff
changeset
|
85 } |
880
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
86 } |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
87 } |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
88 |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
89 EOF |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
90 |
1900
236d038dc04a
Tests: suppress "listen .. http2;" deprecation warnings.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1859
diff
changeset
|
91 # suppress deprecation warning |
236d038dc04a
Tests: suppress "listen .. http2;" deprecation warnings.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1859
diff
changeset
|
92 |
236d038dc04a
Tests: suppress "listen .. http2;" deprecation warnings.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1859
diff
changeset
|
93 open OLDERR, ">&", \*STDERR; close STDERR; |
236d038dc04a
Tests: suppress "listen .. http2;" deprecation warnings.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1859
diff
changeset
|
94 $t->run(); |
236d038dc04a
Tests: suppress "listen .. http2;" deprecation warnings.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1859
diff
changeset
|
95 open STDERR, ">&", \*OLDERR; |
880
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
96 |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
97 ############################################################################### |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
98 |
1948
78452573505c
Tests: improved server tokens tests to accept alternative names.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1900
diff
changeset
|
99 my $re = qr/\w+\/\d+\.\d+\.\d+/; |
1120
a6ffc722dfcb
Tests: refactored server_tokens tests, no functional changes.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
100 |
a6ffc722dfcb
Tests: refactored server_tokens tests, no functional changes.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
101 like(header_server('/200'), qr/^$re$/, 'http2 tokens default 200'); |
a6ffc722dfcb
Tests: refactored server_tokens tests, no functional changes.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
102 like(header_server('/404'), qr/^$re$/, 'http2 tokens default 404'); |
a6ffc722dfcb
Tests: refactored server_tokens tests, no functional changes.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
103 like(body('/404'), qr/$re/, 'http2 tokens default 404 body'); |
880
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
104 |
1948
78452573505c
Tests: improved server tokens tests to accept alternative names.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1900
diff
changeset
|
105 like(header_server('/off/200'), qr/^\w+$/, 'http2 tokens off 200'); |
78452573505c
Tests: improved server tokens tests to accept alternative names.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1900
diff
changeset
|
106 like(header_server('/off/404'), qr/^\w+$/, 'http2 tokens off 404'); |
78452573505c
Tests: improved server tokens tests to accept alternative names.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1900
diff
changeset
|
107 unlike(body('/off/404'), $re, 'http2 tokens off 404 body'); |
880
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
108 |
1120
a6ffc722dfcb
Tests: refactored server_tokens tests, no functional changes.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
109 like(header_server('/on/200'), qr/^$re$/, 'http2 tokens on 200'); |
a6ffc722dfcb
Tests: refactored server_tokens tests, no functional changes.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
110 like(header_server('/on/404'), qr/^$re$/, 'http2 tokens on 404'); |
a6ffc722dfcb
Tests: refactored server_tokens tests, no functional changes.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
111 like(body('/on/404'), $re, 'http2 tokens on 404 body'); |
880
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
112 |
1859
5f46af4707e7
Tests: fixed server_tokens tests for build names with spaces.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1251
diff
changeset
|
113 $re = qr/$re \(.*\)/ if $t->has_module('--build='); |
1121
c883d3d3a3ab
Tests: server_tokens build tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1120
diff
changeset
|
114 |
c883d3d3a3ab
Tests: server_tokens build tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1120
diff
changeset
|
115 like(header_server('/b/200'), qr/^$re$/, 'http2 tokens build 200'); |
c883d3d3a3ab
Tests: server_tokens build tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1120
diff
changeset
|
116 like(header_server('/b/404'), qr/^$re$/, 'http2 tokens build 404'); |
c883d3d3a3ab
Tests: server_tokens build tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1120
diff
changeset
|
117 like(body('/b/404'), qr/$re/, 'http2 tokens build 404 body'); |
c883d3d3a3ab
Tests: server_tokens build tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1120
diff
changeset
|
118 |
880
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
119 ############################################################################### |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
120 |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
121 sub header_server { |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
122 my ($path) = shift; |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
123 |
948
4dc302d8e04f
Tests: changed HTTP2 package to act as a class.
Sergey Kandaurov <pluknet@nginx.com>
parents:
880
diff
changeset
|
124 my $s = Test::Nginx::HTTP2->new(); |
4dc302d8e04f
Tests: changed HTTP2 package to act as a class.
Sergey Kandaurov <pluknet@nginx.com>
parents:
880
diff
changeset
|
125 my $sid = $s->new_stream({ path => $path }); |
4dc302d8e04f
Tests: changed HTTP2 package to act as a class.
Sergey Kandaurov <pluknet@nginx.com>
parents:
880
diff
changeset
|
126 my $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); |
880
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
127 |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
128 my ($frame) = grep { $_->{type} eq "HEADERS" } @$frames; |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
129 return $frame->{headers}->{'server'}; |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
130 } |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
131 |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
132 sub body { |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
133 my ($path) = shift; |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
134 |
948
4dc302d8e04f
Tests: changed HTTP2 package to act as a class.
Sergey Kandaurov <pluknet@nginx.com>
parents:
880
diff
changeset
|
135 my $s = Test::Nginx::HTTP2->new(); |
4dc302d8e04f
Tests: changed HTTP2 package to act as a class.
Sergey Kandaurov <pluknet@nginx.com>
parents:
880
diff
changeset
|
136 my $sid = $s->new_stream({ path => $path }); |
4dc302d8e04f
Tests: changed HTTP2 package to act as a class.
Sergey Kandaurov <pluknet@nginx.com>
parents:
880
diff
changeset
|
137 my $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); |
880
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
138 |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
139 my ($frame) = grep { $_->{type} eq "DATA" } @$frames; |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
140 return $frame->{'data'}; |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
141 } |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
142 |
697fc80b8606
Tests: added HTTP/2 tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff
changeset
|
143 ############################################################################### |