Mercurial > hg > nginx-tests
annotate js_headers.t @ 1525:ca0858ef7d3d
Tests: added js keys tests.
author | Dmitry Volyntsev <xeioex@nginx.com> |
---|---|
date | Tue, 22 Oct 2019 21:05:51 +0300 |
parents | b6699ffd9ddd |
children | c1d167a13c24 |
rev | line source |
---|---|
1439
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
1 #!/usr/bin/perl |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
2 |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
3 # (C) Dmitry Volyntsev |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
4 # (C) Nginx, Inc. |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
5 |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
6 # Tests for http njs module, working with headers. |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
7 |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
8 ############################################################################### |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
9 |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
10 use warnings; |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
11 use strict; |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
12 |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
13 use Test::More; |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
14 |
1521
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
15 use Socket qw/ CRLF /; |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
16 |
1439
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
17 BEGIN { use FindBin; chdir($FindBin::Bin); } |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
18 |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
19 use lib 'lib'; |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
20 use Test::Nginx; |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
21 |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
22 ############################################################################### |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
23 |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
24 select STDERR; $| = 1; |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
25 select STDOUT; $| = 1; |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
26 |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
27 my $t = Test::Nginx->new()->has(qw/http charset/) |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
28 ->write_file_expand('nginx.conf', <<'EOF'); |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
29 |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
30 %%TEST_GLOBALS%% |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
31 |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
32 daemon off; |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
33 |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
34 events { |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
35 } |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
36 |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
37 http { |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
38 %%TEST_GLOBALS_HTTP%% |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
39 |
1521
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
40 js_set $test_foo_in test_foo_in; |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
41 js_set $test_ifoo_in test_ifoo_in; |
1440
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
42 |
1439
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
43 js_include test.js; |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
44 |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
45 server { |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
46 listen 127.0.0.1:8080; |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
47 server_name localhost; |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
48 |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
49 location /njs { |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
50 js_content test_njs; |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
51 } |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
52 |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
53 location /content_length { |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
54 js_content content_length; |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
55 } |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
56 |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
57 location /content_type { |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
58 charset windows-1251; |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
59 |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
60 default_type text/plain; |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
61 js_content content_type; |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
62 } |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
63 |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
64 location /content_encoding { |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
65 js_content content_encoding; |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
66 } |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
67 |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
68 location /headers_list { |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
69 js_content headers_list; |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
70 } |
1440
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
71 |
1521
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
72 location /foo_in { |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
73 return 200 $test_foo_in; |
1440
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
74 } |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
75 |
1521
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
76 location /ifoo_in { |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
77 return 200 $test_ifoo_in; |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
78 } |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
79 |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
80 location /hdr_in { |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
81 js_content hdr_in; |
1440
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
82 } |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
83 |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
84 location /hdr_out { |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
85 js_content hdr_out; |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
86 } |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
87 |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
88 location /ihdr_out { |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
89 js_content ihdr_out; |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
90 } |
1525
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1521
diff
changeset
|
91 |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1521
diff
changeset
|
92 location /hdr_sorted_keys { |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1521
diff
changeset
|
93 js_content hdr_sorted_keys; |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1521
diff
changeset
|
94 } |
1439
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
95 } |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
96 } |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
97 |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
98 EOF |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
99 |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
100 $t->write_file('test.js', <<EOF); |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
101 function test_njs(r) { |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
102 r.return(200, njs.version); |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
103 } |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
104 |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
105 function content_length(r) { |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
106 r.headersOut['Content-Length'] = ''; |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
107 r.headersOut['Content-Length'] = 3; |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
108 delete r.headersOut['Content-Length']; |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
109 r.headersOut['Content-Length'] = 3; |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
110 r.sendHeader(); |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
111 r.send('XXX'); |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
112 r.finish(); |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
113 } |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
114 |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
115 function content_type(r) { |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
116 r.headersOut['Content-Type'] = 'text/xml'; |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
117 r.headersOut['Content-Type'] = ''; |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
118 r.headersOut['Content-Type'] = 'text/xml; charset='; |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
119 delete r.headersOut['Content-Type']; |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
120 r.headersOut['Content-Type'] = 'text/xml; charset=utf-8'; |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
121 r.headersOut['Content-Type'] = 'text/xml; charset="utf-8"'; |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
122 r.return(200); |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
123 } |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
124 |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
125 function content_encoding(r) { |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
126 r.headersOut['Content-Encoding'] = ''; |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
127 r.headersOut['Content-Encoding'] = 'test'; |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
128 delete r.headersOut['Content-Encoding']; |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
129 r.headersOut['Content-Encoding'] = 'gzip'; |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
130 r.return(200); |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
131 } |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
132 |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
133 function headers_list(r) { |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
134 for (var h in {a:1, b:2, c:3}) { |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
135 r.headersOut[h] = h; |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
136 } |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
137 |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
138 delete r.headersOut.b; |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
139 r.headersOut.d = 'd'; |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
140 |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
141 var out = ""; |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
142 for (var h in r.headersOut) { |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
143 out += h + ":"; |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
144 } |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
145 |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
146 r.return(200, out); |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
147 } |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
148 |
1521
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
149 function hdr_in(r) { |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
150 var s = '', h; |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
151 for (h in r.headersIn) { |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
152 s += `\${h.toLowerCase()}: \${r.headersIn[h]}\n`; |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
153 } |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
154 |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
155 r.return(200, s); |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
156 } |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
157 |
1525
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1521
diff
changeset
|
158 function hdr_sorted_keys(r) { |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1521
diff
changeset
|
159 var s = ''; |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1521
diff
changeset
|
160 var hdr = r.args.in ? r.headersIn : r.headersOut; |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1521
diff
changeset
|
161 |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1521
diff
changeset
|
162 if (!r.args.in) { |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1521
diff
changeset
|
163 r.headersOut.b = 'b'; |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1521
diff
changeset
|
164 r.headersOut.c = 'c'; |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1521
diff
changeset
|
165 r.headersOut.a = 'a'; |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1521
diff
changeset
|
166 } |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1521
diff
changeset
|
167 |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1521
diff
changeset
|
168 r.return(200, Object.keys(hdr).sort()); |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1521
diff
changeset
|
169 } |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1521
diff
changeset
|
170 |
1521
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
171 function test_foo_in(r) { |
1440
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
172 return 'hdr=' + r.headersIn.foo; |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
173 } |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
174 |
1521
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
175 function test_ifoo_in(r) { |
1440
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
176 var s = '', h; |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
177 for (h in r.headersIn) { |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
178 if (h.substr(0, 3) == 'foo') { |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
179 s += r.headersIn[h]; |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
180 } |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
181 } |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
182 return s; |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
183 } |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
184 |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
185 function hdr_out(r) { |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
186 r.status = 200; |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
187 r.headersOut['Foo'] = r.args.fOO; |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
188 |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
189 if (r.args.bar) { |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
190 r.headersOut['Bar'] = |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
191 r.headersOut[(r.args.bar == 'empty' ? 'Baz' :'Foo')] |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
192 } |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
193 |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
194 r.sendHeader(); |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
195 r.finish(); |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
196 } |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
197 |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
198 function ihdr_out(r) { |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
199 r.status = 200; |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
200 r.headersOut['a'] = r.args.a; |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
201 r.headersOut['b'] = r.args.b; |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
202 |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
203 var s = '', h; |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
204 for (h in r.headersOut) { |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
205 s += r.headersOut[h]; |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
206 } |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
207 |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
208 r.sendHeader(); |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
209 r.send(s); |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
210 r.finish(); |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
211 } |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
212 |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
213 |
1439
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
214 EOF |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
215 |
1525
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1521
diff
changeset
|
216 $t->try_run('no njs')->plan(18); |
1439
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
217 |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
218 ############################################################################### |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
219 |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
220 like(http_get('/content_length'), qr/Content-Length: 3/, |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
221 'set Content-Length'); |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
222 like(http_get('/content_type'), qr/Content-Type: text\/xml; charset="utf-8"\r/, |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
223 'set Content-Type'); |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
224 unlike(http_get('/content_type'), qr/Content-Type: text\/plain/, |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
225 'set Content-Type 2'); |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
226 like(http_get('/content_encoding'), qr/Content-Encoding: gzip/, |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
227 'set Content-Encoding'); |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
228 like(http_get('/headers_list'), qr/a:c:d/, 'headers list'); |
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
229 |
1440
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
230 like(http_get('/ihdr_out?a=12&b=34'), qr/^1234$/m, 'r.headersOut iteration'); |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
231 like(http_get('/ihdr_out'), qr/\x0d\x0a?\x0d\x0a?$/m, 'r.send zero'); |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
232 like(http_get('/hdr_out?foo=12345'), qr/Foo: 12345/, 'r.headersOut'); |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
233 like(http_get('/hdr_out?foo=123&bar=copy'), qr/Bar: 123/, 'r.headersOut get'); |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
234 unlike(http_get('/hdr_out?bar=empty'), qr/Bar:/, 'r.headersOut empty'); |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
235 unlike(http_get('/hdr_out?foo='), qr/Foo:/, 'r.headersOut no value'); |
5d0eb718f38e
Tests: moved njs http headers test to a separate file.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1439
diff
changeset
|
236 unlike(http_get('/hdr_out?foo'), qr/Foo:/, 'r.headersOut no value 2'); |
1439
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
237 |
1521
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
238 like(http( |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
239 'GET /hdr_in HTTP/1.0' . CRLF |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
240 . 'Cookie: foo' . CRLF |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
241 . 'Host: localhost' . CRLF . CRLF |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
242 ), qr/cookie: foo/, 'r.headersIn cookie'); |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
243 |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
244 like(http( |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
245 'GET /hdr_in HTTP/1.0' . CRLF |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
246 . 'X-Forwarded-For: foo' . CRLF |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
247 . 'Host: localhost' . CRLF . CRLF |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
248 ), qr/x-forwarded-for: foo/, 'r.headersIn xff'); |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
249 |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
250 |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
251 TODO: { |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
252 local $TODO = 'not yet' |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
253 unless http_get('/njs') =~ /^([.0-9]+)$/m && $1 ge '0.3.6'; |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
254 |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
255 like(http( |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
256 'GET /hdr_in HTTP/1.0' . CRLF |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
257 . 'Cookie: foo1' . CRLF |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
258 . 'Cookie: foo2' . CRLF |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
259 . 'Host: localhost' . CRLF . CRLF |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
260 ), qr/cookie: foo1; foo2/, 'r.headersIn cookie2'); |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
261 |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
262 like(http( |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
263 'GET /hdr_in HTTP/1.0' . CRLF |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
264 . 'X-Forwarded-For: foo1' . CRLF |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
265 . 'X-Forwarded-For: foo2' . CRLF |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
266 . 'Host: localhost' . CRLF . CRLF |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
267 ), qr/x-forwarded-for: foo1, foo2/, 'r.headersIn xff2'); |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
268 |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
269 } |
b6699ffd9ddd
Tests: added Cookie and X-Forwarded-For r.headersIn tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1520
diff
changeset
|
270 |
1525
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1521
diff
changeset
|
271 TODO: { |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1521
diff
changeset
|
272 local $TODO = 'not yet' |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1521
diff
changeset
|
273 unless http_get('/njs') =~ /^([.0-9]+)$/m && $1 ge '0.3.7'; |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1521
diff
changeset
|
274 |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1521
diff
changeset
|
275 like(http( |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1521
diff
changeset
|
276 'GET /hdr_sorted_keys?in=1 HTTP/1.0' . CRLF |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1521
diff
changeset
|
277 . 'Cookie: foo1' . CRLF |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1521
diff
changeset
|
278 . 'Accept: */*' . CRLF |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1521
diff
changeset
|
279 . 'Cookie: foo2' . CRLF |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1521
diff
changeset
|
280 . 'Host: localhost' . CRLF . CRLF |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1521
diff
changeset
|
281 ), qr/Accept,Cookie,Host/, 'r.headersIn sorted keys'); |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1521
diff
changeset
|
282 |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1521
diff
changeset
|
283 like(http( |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1521
diff
changeset
|
284 'GET /hdr_sorted_keys HTTP/1.0' . CRLF |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1521
diff
changeset
|
285 . 'Host: localhost' . CRLF . CRLF |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1521
diff
changeset
|
286 ), qr/a,b,c/, 'r.headersOut sorted keys'); |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1521
diff
changeset
|
287 |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1521
diff
changeset
|
288 } |
ca0858ef7d3d
Tests: added js keys tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1521
diff
changeset
|
289 |
1439
c083749bc47d
Tests: added njs http r.headersOut tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
290 ############################################################################### |