Mercurial > hg > nginx-tests
annotate stream_js_fetch_init.t @ 1836:74cffa9d4c43
Tests: enabled session reuse via TLS session tickets.
This fixes tests with TLSv1.3 enabled when using BoringSSL, since
for TLSv1.3 it only supports session reuse via TLS session tickets,
and not server-side session cache.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Thu, 23 Mar 2023 19:50:02 +0300 |
parents | f98884ad7700 |
children |
rev | line source |
---|---|
1807
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
1 #!/usr/bin/perl |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
2 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
3 # (C) Dmitry Volyntsev |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
4 # (C) Nginx, Inc. |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
5 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
6 # Tests for stream njs module, Response prototype reinitialization. |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
7 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
8 ############################################################################### |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
9 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
10 use warnings; |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
11 use strict; |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
12 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
13 use Test::More; |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
14 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
15 BEGIN { use FindBin; chdir($FindBin::Bin); } |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
16 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
17 use lib 'lib'; |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
18 use Test::Nginx; |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
19 use Test::Nginx::Stream qw/ stream /; |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
20 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
21 ############################################################################### |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
22 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
23 select STDERR; $| = 1; |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
24 select STDOUT; $| = 1; |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
25 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
26 my $t = Test::Nginx->new()->has(qw/http rewrite stream/) |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
27 ->write_file_expand('nginx.conf', <<'EOF'); |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
28 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
29 %%TEST_GLOBALS%% |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
30 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
31 daemon off; |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
32 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
33 events { |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
34 } |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
35 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
36 stream { |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
37 %%TEST_GLOBALS_STREAM%% |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
38 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
39 js_import test.js; |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
40 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
41 server { |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
42 listen 127.0.0.1:8081; |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
43 js_access test.access_ok; |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
44 proxy_pass 127.0.0.1:8090; |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
45 } |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
46 } |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
47 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
48 http { |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
49 %%TEST_GLOBALS_HTTP%% |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
50 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
51 js_import test.js; |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
52 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
53 server { |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
54 listen 127.0.0.1:8080; |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
55 server_name localhost; |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
56 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
57 location /njs { |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
58 js_content test.njs; |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
59 } |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
60 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
61 location /success { |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
62 return 200; |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
63 } |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
64 } |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
65 } |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
66 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
67 EOF |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
68 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
69 my $p = port(8080); |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
70 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
71 $t->write_file('test.js', <<EOF); |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
72 function test_njs(r) { |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
73 r.return(200, njs.version); |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
74 } |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
75 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
76 async function access_ok(s) { |
1812
f98884ad7700
Test: avoiding forbidden Host header in js fetch tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1811
diff
changeset
|
77 let reply = await ngx.fetch('http://127.0.0.1:$p/success'); |
1807
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
78 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
79 (reply.status == 200) ? s.allow(): s.deny(); |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
80 } |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
81 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
82 export default {njs: test_njs, access_ok}; |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
83 EOF |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
84 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
85 $t->try_run('no stream njs available')->plan(1); |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
86 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
87 $t->run_daemon(\&stream_daemon, port(8090)); |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
88 $t->waitforsocket('127.0.0.1:' . port(8090)); |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
89 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
90 ############################################################################### |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
91 |
1811
520fb74cce4c
Tests: improved njs version check to account multi digit versions.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1807
diff
changeset
|
92 local $TODO = 'not yet' unless has_version('0.7.9'); |
1807
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
93 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
94 is(stream('127.0.0.1:' . port(8081))->io('ABC'), 'ABC', 'access fetch ok'); |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
95 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
96 ############################################################################### |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
97 |
1811
520fb74cce4c
Tests: improved njs version check to account multi digit versions.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1807
diff
changeset
|
98 sub has_version { |
520fb74cce4c
Tests: improved njs version check to account multi digit versions.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1807
diff
changeset
|
99 my $need = shift; |
520fb74cce4c
Tests: improved njs version check to account multi digit versions.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1807
diff
changeset
|
100 |
520fb74cce4c
Tests: improved njs version check to account multi digit versions.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1807
diff
changeset
|
101 http_get('/njs') =~ /^([.0-9]+)$/m; |
520fb74cce4c
Tests: improved njs version check to account multi digit versions.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1807
diff
changeset
|
102 |
520fb74cce4c
Tests: improved njs version check to account multi digit versions.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1807
diff
changeset
|
103 my @v = split(/\./, $1); |
520fb74cce4c
Tests: improved njs version check to account multi digit versions.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1807
diff
changeset
|
104 my ($n, $v); |
520fb74cce4c
Tests: improved njs version check to account multi digit versions.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1807
diff
changeset
|
105 |
520fb74cce4c
Tests: improved njs version check to account multi digit versions.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1807
diff
changeset
|
106 for $n (split(/\./, $need)) { |
520fb74cce4c
Tests: improved njs version check to account multi digit versions.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1807
diff
changeset
|
107 $v = shift @v || 0; |
520fb74cce4c
Tests: improved njs version check to account multi digit versions.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1807
diff
changeset
|
108 return 0 if $n > $v; |
520fb74cce4c
Tests: improved njs version check to account multi digit versions.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1807
diff
changeset
|
109 return 1 if $v > $n; |
520fb74cce4c
Tests: improved njs version check to account multi digit versions.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1807
diff
changeset
|
110 } |
520fb74cce4c
Tests: improved njs version check to account multi digit versions.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1807
diff
changeset
|
111 |
520fb74cce4c
Tests: improved njs version check to account multi digit versions.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1807
diff
changeset
|
112 return 1; |
520fb74cce4c
Tests: improved njs version check to account multi digit versions.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1807
diff
changeset
|
113 } |
520fb74cce4c
Tests: improved njs version check to account multi digit versions.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1807
diff
changeset
|
114 |
520fb74cce4c
Tests: improved njs version check to account multi digit versions.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1807
diff
changeset
|
115 ############################################################################### |
520fb74cce4c
Tests: improved njs version check to account multi digit versions.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1807
diff
changeset
|
116 |
1807
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
117 sub stream_daemon { |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
118 my $server = IO::Socket::INET->new( |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
119 Proto => 'tcp', |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
120 LocalAddr => '127.0.0.1:' . port(8090), |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
121 Listen => 5, |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
122 Reuse => 1 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
123 ) |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
124 or die "Can't create listening socket: $!\n"; |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
125 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
126 local $SIG{PIPE} = 'IGNORE'; |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
127 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
128 while (my $client = $server->accept()) { |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
129 $client->autoflush(1); |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
130 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
131 log2c("(new connection $client)"); |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
132 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
133 $client->sysread(my $buffer, 65536) or next; |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
134 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
135 log2i("$client $buffer"); |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
136 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
137 log2o("$client $buffer"); |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
138 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
139 $client->syswrite($buffer); |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
140 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
141 close $client; |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
142 } |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
143 } |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
144 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
145 sub log2i { Test::Nginx::log_core('|| <<', @_); } |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
146 sub log2o { Test::Nginx::log_core('|| >>', @_); } |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
147 sub log2c { Test::Nginx::log_core('||', @_); } |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
148 |
01fcc82a435a
Tests: added stream js test for Fetch object reinitialization.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
149 ############################################################################### |