Mercurial > hg > nginx-tests
annotate upstream.t @ 423:1ac74b568503
Tests: unbreak ssl_password_file.t with upcoming OpenSSL 1.0.2.
The 512-bit keys, as generated by default by "openssl genrsa" in older
versions, are rejected by OpenSSL library built from master branch (and
upcoming OpenSSL 1.0.2). This brokes the test if the "openssl" binary
is old (e.g., system one), but nginx is compiled against new OpenSSL.
Fix is to explicitly generate 2048 bit keys. This is also consistent to
what we generate in other places.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Thu, 03 Jul 2014 05:47:37 +0400 |
parents | e7dc8f4d0a4b |
children | e9064d691790 |
rev | line source |
---|---|
287
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
1 #!/usr/bin/perl |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
2 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
3 # (C) Maxim Dounin |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
4 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
5 # Tests for upstream module and balancers. |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
6 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
7 ############################################################################### |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
8 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
9 use warnings; |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
10 use strict; |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
11 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
12 use Test::More; |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
13 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
14 BEGIN { use FindBin; chdir($FindBin::Bin); } |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
15 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
16 use lib 'lib'; |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
17 use Test::Nginx; |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
18 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
19 ############################################################################### |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
20 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
21 select STDERR; $| = 1; |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
22 select STDOUT; $| = 1; |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
23 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
24 my $t = Test::Nginx->new()->has(qw/http proxy/)->plan(3); |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
25 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
26 $t->write_file_expand('nginx.conf', <<'EOF'); |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
27 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
28 %%TEST_GLOBALS%% |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
29 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
30 daemon off; |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
31 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
32 events { |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
33 } |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
34 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
35 http { |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
36 %%TEST_GLOBALS_HTTP%% |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
37 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
38 upstream u { |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
39 server 127.0.0.1:8081 max_fails=3 fail_timeout=10s; |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
40 server 127.0.0.1:8082 max_fails=3 fail_timeout=10s; |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
41 } |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
42 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
43 upstream u2 { |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
44 server 127.0.0.1:8081 max_fails=3 fail_timeout=10s; |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
45 server 127.0.0.1:8082 max_fails=3 fail_timeout=10s; |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
46 } |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
47 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
48 server { |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
49 listen 127.0.0.1:8080; |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
50 server_name localhost; |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
51 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
52 location / { |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
53 proxy_pass http://u; |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
54 } |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
55 location /close2 { |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
56 proxy_pass http://u2; |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
57 } |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
58 } |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
59 } |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
60 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
61 EOF |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
62 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
63 $t->run_daemon(\&http_daemon, 8081); |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
64 $t->run_daemon(\&http_daemon, 8082); |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
65 $t->run(); |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
66 |
293
719285b89d7e
Tests: upstream.t minor fixes.
Maxim Dounin <mdounin@mdounin.ru>
parents:
287
diff
changeset
|
67 $t->waitforsocket('127.0.0.1:8081'); |
719285b89d7e
Tests: upstream.t minor fixes.
Maxim Dounin <mdounin@mdounin.ru>
parents:
287
diff
changeset
|
68 $t->waitforsocket('127.0.0.1:8082'); |
719285b89d7e
Tests: upstream.t minor fixes.
Maxim Dounin <mdounin@mdounin.ru>
parents:
287
diff
changeset
|
69 |
287
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
70 ############################################################################### |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
71 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
72 is(many('/', 30), '8081: 15, 8082: 15', 'balanced'); |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
73 |
343
e7dc8f4d0a4b
Tests: whitespace and spelling fixes.
Sergey Kandaurov <pluknet@nginx.com>
parents:
317
diff
changeset
|
74 # from 9 first requests to 8081, only 6 will be successful, |
287
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
75 # 3rd, 6th, and 9th requests will fail; after this the backend |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
76 # will be considered down and won't be used till fail_timeout passes |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
77 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
78 is(many('/close', 30), '8081: 6, 8082: 24', 'failures'); |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
79 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
80 SKIP: { |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
81 skip 'long test', 1 unless $ENV{TEST_NGINX_UNSAFE}; |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
82 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
83 # bug: failures counter is reset if first request in a second succeeds |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
84 # |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
85 # delay added to make sure first 9 requests will take more than 1s; |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
86 # note that the test is racy and may unexpectedly succeed |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
87 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
88 is(many('/close2', 30, delay => 0.2), '8081: 6, 8082: 24', 'failures delay'); |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
89 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
90 } |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
91 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
92 ############################################################################### |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
93 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
94 sub many { |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
95 my ($uri, $count, %opts) = @_; |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
96 my %ports; |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
97 |
293
719285b89d7e
Tests: upstream.t minor fixes.
Maxim Dounin <mdounin@mdounin.ru>
parents:
287
diff
changeset
|
98 for (1 .. $count) { |
287
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
99 if (http_get($uri) =~ /X-Port: (\d+)/) { |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
100 $ports{$1} = 0 unless defined $ports{$1}; |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
101 $ports{$1}++; |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
102 } |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
103 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
104 select undef, undef, undef, $opts{delay} if $opts{delay}; |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
105 } |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
106 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
107 return join ', ', map { $_ . ": " . $ports{$_} } sort keys %ports; |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
108 } |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
109 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
110 ############################################################################### |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
111 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
112 sub http_daemon { |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
113 my ($port) = @_; |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
114 my $count = 1; |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
115 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
116 my $server = IO::Socket::INET->new( |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
117 Proto => 'tcp', |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
118 LocalHost => '127.0.0.1', |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
119 LocalPort => $port, |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
120 Listen => 5, |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
121 Reuse => 1 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
122 ) |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
123 or die "Can't create listening socket: $!\n"; |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
124 |
293
719285b89d7e
Tests: upstream.t minor fixes.
Maxim Dounin <mdounin@mdounin.ru>
parents:
287
diff
changeset
|
125 local $SIG{PIPE} = 'IGNORE'; |
719285b89d7e
Tests: upstream.t minor fixes.
Maxim Dounin <mdounin@mdounin.ru>
parents:
287
diff
changeset
|
126 |
287
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
127 while (my $client = $server->accept()) { |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
128 $client->autoflush(1); |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
129 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
130 my $headers = ''; |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
131 my $uri = ''; |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
132 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
133 while (<$client>) { |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
134 $headers .= $_; |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
135 last if (/^\x0d?\x0a?$/); |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
136 } |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
137 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
138 $uri = $1 if $headers =~ /^\S+\s+([^ ]+)\s+HTTP/i; |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
139 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
140 if ($uri =~ 'close' && $port == 8081 && $count++ % 3 == 0) { |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
141 next; |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
142 } |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
143 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
144 print $client <<EOF; |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
145 HTTP/1.1 200 OK |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
146 Connection: close |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
147 X-Port: $port |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
148 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
149 OK |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
150 EOF |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
151 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
152 close $client; |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
153 } |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
154 } |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
155 |
ba5b92378653
Tests: add some basic upstream tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
156 ############################################################################### |