Mercurial > hg > nginx-tests
annotate stream_js_buffer.t @ 1829:a78c32419f02
Tests: separate SSL session reuse tests.
Instead of being mixed with generic SSL tests, session reuse variants
are now tested in a separate file.
In the generic SSL tests only basic session reuse is now tested,
notably with session tickets enabled and a shared SSL session cache.
This should make it possible to reuse sessions in all cases (except
when it's not supported, such as with LibreSSL with TLSv1.3).
Note that session reuse with tickets implies that $ssl_session_id
is selected by the client and therefore is not available on the
initial connection. Relevant test is modified to handle this.
Further, BoringSSL does not use legacy session ID with TLSv1.3 even
if it is sent by the client. In contrast, OpenSSL always generates
an unique legacy session id, so it is available with TLSv1.3 even if
session resumption does not work (such as with old Net::SSLeay and
IO::Socket::SSL modules).
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Thu, 23 Mar 2023 19:49:47 +0300 |
parents | 7cf848422b28 |
children |
rev | line source |
---|---|
1625
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
1 #!/usr/bin/perl |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
2 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
3 # (C) Dmitry Volyntsev |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
4 # (C) Nginx, Inc. |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
5 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
6 # Tests for stream njs module, buffer properties. |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
7 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
8 ############################################################################### |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
9 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
10 use warnings; |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
11 use strict; |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
12 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
13 use Test::More; |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
14 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
15 BEGIN { use FindBin; chdir($FindBin::Bin); } |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
16 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
17 use lib 'lib'; |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
18 use Test::Nginx; |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
19 use Test::Nginx::Stream qw/ stream /; |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
20 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
21 ############################################################################### |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
22 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
23 select STDERR; $| = 1; |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
24 select STDOUT; $| = 1; |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
25 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
26 my $t = Test::Nginx->new()->has(qw/http proxy rewrite stream stream_return/) |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
27 ->write_file_expand('nginx.conf', <<'EOF'); |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
28 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
29 %%TEST_GLOBALS%% |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
30 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
31 daemon off; |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
32 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
33 events { |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
34 } |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
35 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
36 http { |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
37 %%TEST_GLOBALS_HTTP%% |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
38 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
39 js_import test.js; |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
40 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
41 server { |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
42 listen 127.0.0.1:8080; |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
43 server_name localhost; |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
44 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
45 location /njs { |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
46 js_content test.njs; |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
47 } |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
48 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
49 location /p/ { |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
50 proxy_pass http://127.0.0.1:8085/; |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
51 } |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
52 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
53 location /return { |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
54 return 200 'RETURN:$http_foo'; |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
55 } |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
56 } |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
57 } |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
58 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
59 stream { |
1792
d16310f0ada7
Tests: added missing TEST_GLOBALS_STREAM templates.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1626
diff
changeset
|
60 %%TEST_GLOBALS_STREAM%% |
d16310f0ada7
Tests: added missing TEST_GLOBALS_STREAM templates.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1626
diff
changeset
|
61 |
1625
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
62 js_import test.js; |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
63 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
64 js_set $type test.type; |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
65 js_set $binary_var test.binary_var; |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
66 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
67 server { |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
68 listen 127.0.0.1:8081; |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
69 return $type; |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
70 } |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
71 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
72 server { |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
73 listen 127.0.0.1:8082; |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
74 return $binary_var; |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
75 } |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
76 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
77 server { |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
78 listen 127.0.0.1:8083; |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
79 js_preread test.cb_mismatch; |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
80 proxy_pass 127.0.0.1:8090; |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
81 } |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
82 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
83 server { |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
84 listen 127.0.0.1:8084; |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
85 js_preread test.cb_mismatch2; |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
86 proxy_pass 127.0.0.1:8090; |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
87 } |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
88 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
89 server { |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
90 listen 127.0.0.1:8085; |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
91 js_filter test.header_inject; |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
92 proxy_pass 127.0.0.1:8080; |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
93 } |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
94 } |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
95 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
96 EOF |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
97 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
98 $t->write_file('test.js', <<EOF); |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
99 function test_njs(r) { |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
100 r.return(200, njs.version); |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
101 } |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
102 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
103 function type(s) { |
1626
a35445ae8de7
Tests: adapted js buffer tests to renaming vars to rawVariables.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1625
diff
changeset
|
104 var v = s.rawVariables.remote_addr; |
1625
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
105 var type = Buffer.isBuffer(v) ? 'buffer' : (typeof v); |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
106 return type; |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
107 } |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
108 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
109 function binary_var(s) { |
1626
a35445ae8de7
Tests: adapted js buffer tests to renaming vars to rawVariables.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1625
diff
changeset
|
110 var test = s.rawVariables |
a35445ae8de7
Tests: adapted js buffer tests to renaming vars to rawVariables.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1625
diff
changeset
|
111 .binary_remote_addr.equals(Buffer.from([127,0,0,1])); |
1625
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
112 return test; |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
113 } |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
114 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
115 function cb_mismatch(s) { |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
116 try { |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
117 s.on('upload', () => {}); |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
118 s.on('downstream', () => {}); |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
119 } catch (e) { |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
120 throw new Error(`cb_mismatch:\${e.message}`) |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
121 } |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
122 } |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
123 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
124 function cb_mismatch2(s) { |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
125 try { |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
126 s.on('upstream', () => {}); |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
127 s.on('download', () => {}); |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
128 } catch (e) { |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
129 throw new Error(`cb_mismatch2:\${e.message}`) |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
130 } |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
131 } |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
132 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
133 function header_inject(s) { |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
134 var req = Buffer.from([]); |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
135 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
136 s.on('upstream', function(data, flags) { |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
137 req = Buffer.concat([req, data]); |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
138 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
139 var n = req.indexOf('\\n'); |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
140 if (n != -1) { |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
141 var rest = req.slice(n + 1); |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
142 req = req.slice(0, n + 1); |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
143 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
144 s.send(req, flags); |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
145 s.send('Foo: foo\\r\\n', flags); |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
146 s.send(rest, flags); |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
147 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
148 s.off('upstream'); |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
149 } |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
150 }); |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
151 } |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
152 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
153 export default {njs: test_njs, type, binary_var, cb_mismatch, cb_mismatch2, |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
154 header_inject}; |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
155 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
156 EOF |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
157 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
158 $t->try_run('no njs ngx')->plan(5); |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
159 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
160 ############################################################################### |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
161 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
162 is(stream('127.0.0.1:' . port(8081))->read(), 'buffer', 'var type'); |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
163 is(stream('127.0.0.1:' . port(8082))->read(), 'true', 'binary var'); |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
164 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
165 stream('127.0.0.1:' . port(8083))->io('x'); |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
166 stream('127.0.0.1:' . port(8084))->io('x'); |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
167 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
168 like(http_get('/p/return'), qr/RETURN:foo/, 'injected header'); |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
169 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
170 $t->stop(); |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
171 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
172 ok(index($t->read_file('error.log'), 'cb_mismatch:mixing string and buffer') |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
173 > 0, 'cb mismatch'); |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
174 ok(index($t->read_file('error.log'), 'cb_mismatch2:mixing string and buffer') |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
175 > 0, 'cb mismatch'); |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
176 |
a140cab489e8
Tests: added js buffer tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
177 ############################################################################### |