Mercurial > hg > nginx-tests
annotate perl.t @ 1868:d570dbcad925
Tests: unbreak tests with IO::Socket:SSL lacking SSL_session_key.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Tue, 23 May 2023 13:21:27 +0400 |
parents | fb88778d4580 |
children | a095b971fbcc |
rev | line source |
---|---|
118
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
1 #!/usr/bin/perl |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
2 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
3 # (C) Maxim Dounin |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
4 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
5 # Tests for embedded perl module. |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
6 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
7 ############################################################################### |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
8 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
9 use warnings; |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
10 use strict; |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
11 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
12 use Test::More; |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
13 |
282
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
14 use Socket qw/ CRLF /; |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
15 |
118
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
16 BEGIN { use FindBin; chdir($FindBin::Bin); } |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
17 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
18 use lib 'lib'; |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
19 use Test::Nginx; |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
20 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
21 ############################################################################### |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
22 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
23 select STDERR; $| = 1; |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
24 select STDOUT; $| = 1; |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
25 |
1768
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
26 my $t = Test::Nginx->new()->has(qw/http perl rewrite/)->plan(27) |
118
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
27 ->write_file_expand('nginx.conf', <<'EOF'); |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
28 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
29 %%TEST_GLOBALS%% |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
30 |
249
6a0d934950bc
Tests: remove extra spaces in "daemon off".
Maxim Dounin <mdounin@mdounin.ru>
parents:
166
diff
changeset
|
31 daemon off; |
118
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
32 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
33 events { |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
34 } |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
35 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
36 http { |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
37 %%TEST_GLOBALS_HTTP%% |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
38 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
39 server { |
974
882267679006
Tests: simplified parallel modifications in tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
952
diff
changeset
|
40 listen 127.0.0.1:8080; |
118
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
41 server_name localhost; |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
42 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
43 location / { |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
44 set $testvar "TEST"; |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
45 perl 'sub { |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
46 use warnings; |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
47 use strict; |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
48 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
49 my $r = shift; |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
50 |
1489
82be9398a9fa
Tests: perl header_only, status, and args tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1487
diff
changeset
|
51 $r->status(204) if $r->args =~ /204/; |
82be9398a9fa
Tests: perl header_only, status, and args tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1487
diff
changeset
|
52 |
118
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
53 $r->send_http_header("text/plain"); |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
54 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
55 return OK if $r->header_only; |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
56 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
57 my $v = $r->variable("testvar"); |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
58 |
297
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
59 $r->print("testvar: $v\n"); |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
60 |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
61 $r->print("host: ", $r->header_in("Host"), "\n"); |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
62 $r->print("xfoo: ", $r->header_in("X-Foo"), "\n"); |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
63 $r->print("cookie: ", $r->header_in("Cookie"), "\n"); |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
64 $r->print("xff: ", $r->header_in("X-Forwarded-For"), "\n"); |
1767
d7e019157cd7
Tests: perl $r->header_in("Connection") test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1693
diff
changeset
|
65 $r->print("connection: ", $r->header_in("Connection"), "\n"); |
118
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
66 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
67 return OK; |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
68 }'; |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
69 } |
282
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
70 |
1152
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
71 location /range { |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
72 perl 'sub { |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
73 use warnings; |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
74 use strict; |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
75 |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
76 my $r = shift; |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
77 |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
78 $r->header_out("Content-Length", "42"); |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
79 $r->allow_ranges(); |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
80 $r->send_http_header("text/plain"); |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
81 |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
82 return OK if $r->header_only; |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
83 |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
84 $r->print("x" x 42); |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
85 |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
86 return OK; |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
87 }'; |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
88 } |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
89 |
282
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
90 location /body { |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
91 perl 'sub { |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
92 use warnings; |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
93 use strict; |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
94 |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
95 my $r = shift; |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
96 |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
97 if ($r->has_request_body(\&post)) { |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
98 return OK; |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
99 } |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
100 |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
101 return HTTP_BAD_REQUEST; |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
102 |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
103 sub post { |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
104 my $r = shift; |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
105 $r->send_http_header; |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
106 $r->print("body: ", $r->request_body, "\n"); |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
107 $r->print("file: ", $r->request_body_file, "\n"); |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
108 } |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
109 }'; |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
110 } |
1491
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
111 |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
112 location /discard { |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
113 perl 'sub { |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
114 use warnings; |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
115 use strict; |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
116 |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
117 my $r = shift; |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
118 |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
119 $r->discard_request_body; |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
120 |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
121 $r->send_http_header("text/plain"); |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
122 |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
123 return OK if $r->header_only; |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
124 |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
125 $r->print("host: ", $r->header_in("Host"), "\n"); |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
126 |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
127 return OK; |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
128 }'; |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
129 } |
118
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
130 } |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
131 } |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
132 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
133 EOF |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
134 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
135 $t->run(); |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
136 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
137 ############################################################################### |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
138 |
1489
82be9398a9fa
Tests: perl header_only, status, and args tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1487
diff
changeset
|
139 like(http_get('/'), qr/ 200 .*TEST/s, 'perl response'); |
82be9398a9fa
Tests: perl header_only, status, and args tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1487
diff
changeset
|
140 like(http_head('/'), qr/ 200 (?!.*TEST)/s, 'perl header_only'); |
82be9398a9fa
Tests: perl header_only, status, and args tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1487
diff
changeset
|
141 like(http_get('/?204'), qr/ 204 (?!.*TEST)/s, 'perl status, args'); |
118
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
142 |
297
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
143 # various $r->header_in() cases |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
144 |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
145 like(http( |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
146 'GET / HTTP/1.0' . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
147 . 'Host: localhost' . CRLF . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
148 ), qr/host: localhost/, 'perl header_in known'); |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
149 |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
150 like(http( |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
151 'GET / HTTP/1.0' . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
152 . 'X-Foo: foo' . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
153 . 'Host: localhost' . CRLF . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
154 ), qr/xfoo: foo/, 'perl header_in unknown'); |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
155 |
1768
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
156 TODO: { |
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
157 local $TODO = 'not yet' unless $t->has_version('1.23.0'); |
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
158 |
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
159 like(http( |
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
160 'GET / HTTP/1.0' . CRLF |
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
161 . 'X-Foo: foo' . CRLF |
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
162 . 'X-Foo: bar' . CRLF |
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
163 . 'Host: localhost' . CRLF . CRLF |
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
164 ), qr/xfoo: foo, bar/, 'perl header_in unknown2'); |
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
165 |
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
166 } |
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
167 |
297
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
168 like(http( |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
169 'GET / HTTP/1.0' . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
170 . 'Cookie: foo' . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
171 . 'Host: localhost' . CRLF . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
172 ), qr/cookie: foo/, 'perl header_in cookie'); |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
173 |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
174 like(http( |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
175 'GET / HTTP/1.0' . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
176 . 'Cookie: foo1' . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
177 . 'Cookie: foo2' . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
178 . 'Host: localhost' . CRLF . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
179 ), qr/cookie: foo1; foo2/, 'perl header_in cookie2'); |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
180 |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
181 like(http( |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
182 'GET / HTTP/1.0' . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
183 . 'X-Forwarded-For: foo' . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
184 . 'Host: localhost' . CRLF . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
185 ), qr/xff: foo/, 'perl header_in xff'); |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
186 |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
187 like(http( |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
188 'GET / HTTP/1.0' . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
189 . 'X-Forwarded-For: foo1' . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
190 . 'X-Forwarded-For: foo2' . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
191 . 'Host: localhost' . CRLF . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
192 ), qr/xff: foo1, foo2/, 'perl header_in xff2'); |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
193 |
1767
d7e019157cd7
Tests: perl $r->header_in("Connection") test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1693
diff
changeset
|
194 TODO: { |
d7e019157cd7
Tests: perl $r->header_in("Connection") test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1693
diff
changeset
|
195 local $TODO = 'not yet' unless $t->has_version('1.23.0'); |
d7e019157cd7
Tests: perl $r->header_in("Connection") test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1693
diff
changeset
|
196 |
d7e019157cd7
Tests: perl $r->header_in("Connection") test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1693
diff
changeset
|
197 like(http( |
d7e019157cd7
Tests: perl $r->header_in("Connection") test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1693
diff
changeset
|
198 'GET / HTTP/1.0' . CRLF |
d7e019157cd7
Tests: perl $r->header_in("Connection") test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1693
diff
changeset
|
199 . 'Connection: close' . CRLF |
d7e019157cd7
Tests: perl $r->header_in("Connection") test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1693
diff
changeset
|
200 . 'Host: localhost' . CRLF . CRLF |
d7e019157cd7
Tests: perl $r->header_in("Connection") test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1693
diff
changeset
|
201 ), qr/connection: close/, 'perl header_in connection'); |
d7e019157cd7
Tests: perl $r->header_in("Connection") test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1693
diff
changeset
|
202 |
1768
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
203 like(http( |
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
204 'GET / HTTP/1.0' . CRLF |
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
205 . 'Connection: close' . CRLF |
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
206 . 'Connection: foo' . CRLF |
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
207 . 'Host: localhost' . CRLF . CRLF |
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
208 ), qr/connection: close, foo/, 'perl header_in connection2'); |
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
209 |
1767
d7e019157cd7
Tests: perl $r->header_in("Connection") test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1693
diff
changeset
|
210 } |
d7e019157cd7
Tests: perl $r->header_in("Connection") test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1693
diff
changeset
|
211 |
1152
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
212 # headers_out content-length tests with range filter |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
213 |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
214 like(http_get('/range'), qr/Content-Length: 42.*^x{42}$/ms, |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
215 'perl header_out content-length'); |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
216 |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
217 like(http( |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
218 'GET /range HTTP/1.0' . CRLF |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
219 . 'Host: localhost' . CRLF |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
220 . 'Range: bytes=0-1' . CRLF . CRLF |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
221 ), qr/Content-Length: 2.*^xx$/ms, 'perl header_out content-length range'); |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
222 |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
223 like(http( |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
224 'GET /range HTTP/1.0' . CRLF |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
225 . 'Host: localhost' . CRLF |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
226 . 'Range: bytes=0-1,3-5' . CRLF . CRLF |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
227 ), qr/Content-Length: (?!42).*^xx\x0d.*^xxx\x0d/ms, |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
228 'perl header_out content-length multipart'); |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
229 |
1180
a69de1aba1ad
Tests: added perl test with not satisfiable range.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1152
diff
changeset
|
230 like(http( |
a69de1aba1ad
Tests: added perl test with not satisfiable range.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1152
diff
changeset
|
231 'GET /range HTTP/1.0' . CRLF |
a69de1aba1ad
Tests: added perl test with not satisfiable range.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1152
diff
changeset
|
232 . 'Host: localhost' . CRLF |
a69de1aba1ad
Tests: added perl test with not satisfiable range.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1152
diff
changeset
|
233 . 'Range: bytes=100000-' . CRLF . CRLF |
a69de1aba1ad
Tests: added perl test with not satisfiable range.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1152
diff
changeset
|
234 ), qr|^\QHTTP/1.1 416\E.*(?!xxx)|ms, 'perl range not satisfiable'); |
a69de1aba1ad
Tests: added perl test with not satisfiable range.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1152
diff
changeset
|
235 |
1487
fe0765147e15
Tests: perl and conditional requests processing.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1180
diff
changeset
|
236 like(http( |
fe0765147e15
Tests: perl and conditional requests processing.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1180
diff
changeset
|
237 'GET / HTTP/1.0' . CRLF |
fe0765147e15
Tests: perl and conditional requests processing.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1180
diff
changeset
|
238 . 'Host: localhost' . CRLF |
fe0765147e15
Tests: perl and conditional requests processing.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1180
diff
changeset
|
239 . 'If-Match: tt' . CRLF . CRLF |
fe0765147e15
Tests: perl and conditional requests processing.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1180
diff
changeset
|
240 ), qr|200 OK|ms, 'perl precondition failed'); |
fe0765147e15
Tests: perl and conditional requests processing.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1180
diff
changeset
|
241 |
297
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
242 # various request body tests |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
243 |
1491
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
244 like(http_get('/body'), qr/400 Bad Request/, 'perl no body'); |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
245 |
282
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
246 like(http( |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
247 'GET /body HTTP/1.0' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
248 . 'Host: localhost' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
249 . 'Content-Length: 10' . CRLF . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
250 . '1234567890' |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
251 ), qr/body: 1234567890/, 'perl body preread'); |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
252 |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
253 like(http( |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
254 'GET /body HTTP/1.0' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
255 . 'Host: localhost' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
256 . 'Content-Length: 10' . CRLF . CRLF, |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
257 sleep => 0.1, |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
258 body => '1234567890' |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
259 ), qr/body: 1234567890/, 'perl body late'); |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
260 |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
261 like(http( |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
262 'GET /body HTTP/1.0' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
263 . 'Host: localhost' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
264 . 'Content-Length: 10' . CRLF . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
265 . '12345', |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
266 sleep => 0.1, |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
267 body => '67890' |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
268 ), qr/body: 1234567890/, 'perl body split'); |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
269 |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
270 like(http( |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
271 'GET /body HTTP/1.1' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
272 . 'Host: localhost' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
273 . 'Connection: close' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
274 . 'Transfer-Encoding: chunked' . CRLF . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
275 . 'a' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
276 . '1234567890' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
277 . '0' . CRLF . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
278 ), qr/body: 1234567890/, 'perl body chunked'); |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
279 |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
280 like(http( |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
281 'GET /body HTTP/1.1' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
282 . 'Host: localhost' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
283 . 'Connection: close' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
284 . 'Transfer-Encoding: chunked' . CRLF . CRLF, |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
285 sleep => 0.1, |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
286 body => 'a' . CRLF . '1234567890' . CRLF . '0' . CRLF . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
287 ), qr/body: 1234567890/, 'perl body chunked late'); |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
288 |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
289 like(http( |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
290 'GET /body HTTP/1.1' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
291 . 'Host: localhost' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
292 . 'Connection: close' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
293 . 'Transfer-Encoding: chunked' . CRLF . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
294 . 'a' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
295 . '12345', |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
296 sleep => 0.1, |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
297 body => '67890' . CRLF . '0' . CRLF . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
298 ), qr/body: 1234567890/, 'perl body chunked split'); |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
299 |
1491
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
300 like(http( |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
301 'GET /discard HTTP/1.1' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
302 . 'Host: localhost' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
303 . 'Connection: close' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
304 . 'Transfer-Encoding: chunked' . CRLF . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
305 . 'a' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
306 . '1234567890' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
307 . '0' . CRLF . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
308 ), qr/host: localhost/, 'perl body discard'); |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
309 |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
310 like(http( |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
311 'GET /discard HTTP/1.1' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
312 . 'Host: localhost' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
313 . 'Connection: close' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
314 . 'Transfer-Encoding: chunked' . CRLF . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
315 . 'ak' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
316 . '1234567890' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
317 . '0' . CRLF . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
318 ), qr/400 Bad Request/, 'perl body discard bad chunk'); |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
319 |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
320 like(http( |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
321 'GET /body HTTP/1.1' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
322 . 'Host: localhost' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
323 . 'Connection: close' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
324 . 'Transfer-Encoding: chunked' . CRLF . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
325 . 'ak' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
326 . '1234567890' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
327 . '0' . CRLF . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
328 ), qr/400 Bad Request/, 'perl body bad chunk'); |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
329 |
118
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
330 ############################################################################### |