Mercurial > hg > nginx-tests
annotate js_subrequests.t @ 1619:436d0ffc2ea3
Tests: correctly shutdown ssl for reproducible session reuse tests.
Previously, session reuse tests in stream_ssl_certificate.t were prone
to testing errors, since the client doesn't write any application data
before closing a connection, which is done so to pass tests on win32.
In this case, the server may happened to get an unexpected eof meaning
that it will abandon that session. This is specific to stream testing
pattern, changes to ssl_certificate.t are applied too for consistency.
This is also specific to SSL_R_UNEXPECTED_EOF_WHILE_READING, which is
implemented in OpenSSL 3.0.0.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Mon, 23 Nov 2020 22:46:06 +0000 |
parents | cd0461e1e392 |
children | 5ac6efbe5552 |
rev | line source |
---|---|
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
1 #!/usr/bin/perl |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
2 # |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
3 # (C) Dmitry Volyntsev. |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
4 # (C) Nginx, Inc. |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
5 |
1375
f168fc46c7a4
Tests: renamed JavaScript to njs.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1359
diff
changeset
|
6 # Tests for subrequests in http njs module. |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
7 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
8 ############################################################################### |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
9 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
10 use warnings; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
11 use strict; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
12 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
13 use Test::More; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
14 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
15 use Socket qw/ CRLF /; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
16 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
17 BEGIN { use FindBin; chdir($FindBin::Bin); } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
18 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
19 use lib 'lib'; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
20 use Test::Nginx; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
21 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
22 ############################################################################### |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
23 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
24 select STDERR; $| = 1; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
25 select STDOUT; $| = 1; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
26 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
27 eval { require JSON::PP; }; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
28 plan(skip_all => "JSON::PP not installed") if $@; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
29 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
30 my $t = Test::Nginx->new()->has(qw/http rewrite proxy cache/) |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
31 ->write_file_expand('nginx.conf', <<'EOF'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
32 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
33 %%TEST_GLOBALS%% |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
34 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
35 daemon off; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
36 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
37 events { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
38 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
39 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
40 http { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
41 %%TEST_GLOBALS_HTTP%% |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
42 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
43 proxy_cache_path %%TESTDIR%%/cache1 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
44 keys_zone=ON:1m use_temp_path=on; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
45 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
46 js_include test.js; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
47 |
1554
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
48 js_set $async_var async_var; |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
49 js_set $subrequest_var subrequest_var; |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
50 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
51 server { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
52 listen 127.0.0.1:8080; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
53 server_name localhost; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
54 |
1616
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
55 location /njs { |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
56 js_content test_njs; |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
57 } |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
58 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
59 location /sr { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
60 js_content sr; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
61 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
62 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
63 location /sr_pr { |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
64 js_content sr_pr; |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
65 } |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
66 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
67 location /sr_args { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
68 js_content sr_args; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
69 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
70 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
71 location /sr_options_args { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
72 js_content sr_options_args; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
73 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
74 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
75 location /sr_options_args_pr { |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
76 js_content sr_options_args_pr; |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
77 } |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
78 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
79 location /sr_options_method { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
80 js_content sr_options_method; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
81 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
82 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
83 location /sr_options_method_pr { |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
84 js_content sr_options_method_pr; |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
85 } |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
86 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
87 location /sr_options_body { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
88 js_content sr_options_body; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
89 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
90 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
91 location /sr_options_method_head { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
92 js_content sr_options_method_head; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
93 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
94 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
95 location /sr_body { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
96 js_content sr_body; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
97 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
98 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
99 location /sr_body_pr { |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
100 js_content sr_body_pr; |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
101 } |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
102 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
103 location /sr_body_special { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
104 js_content sr_body_special; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
105 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
106 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
107 location /sr_in_variable_handler { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
108 set $_ $async_var; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
109 js_content sr_in_variable_handler; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
110 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
111 |
1554
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
112 location /sr_detached_in_variable_handler { |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
113 return 200 $subrequest_var; |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
114 } |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
115 |
1616
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
116 location /sr_async_var { |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
117 set $_ $async_var; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
118 error_page 404 /return; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
119 return 404; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
120 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
121 |
1616
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
122 location /sr_error_page { |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
123 js_content sr_error_page; |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
124 } |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
125 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
126 location /sr_js_in_subrequest { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
127 js_content sr_js_in_subrequest; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
128 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
129 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
130 location /sr_js_in_subrequest_pr { |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
131 js_content sr_js_in_subrequest_pr; |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
132 } |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
133 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
134 location /sr_file { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
135 js_content sr_file; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
136 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
137 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
138 location /sr_cache { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
139 js_content sr_cache; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
140 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
141 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
142 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
143 location /sr_unavail { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
144 js_content sr_unavail; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
145 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
146 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
147 location /sr_unavail_pr { |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
148 js_content sr_unavail_pr; |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
149 } |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
150 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
151 location /sr_broken { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
152 js_content sr_broken; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
153 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
154 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
155 location /sr_too_large { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
156 js_content sr_too_large; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
157 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
158 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
159 location /sr_out_of_order { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
160 js_content sr_out_of_order; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
161 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
162 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
163 location /sr_except_not_a_func { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
164 js_content sr_except_not_a_func; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
165 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
166 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
167 location /sr_except_failed_to_convert_options_arg { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
168 js_content sr_except_failed_to_convert_options_arg; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
169 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
170 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
171 location /sr_except_invalid_options_header_only { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
172 js_content sr_except_invalid_options_header_only; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
173 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
174 |
1359
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
175 location /sr_in_sr_callback { |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
176 js_content sr_in_sr_callback; |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
177 } |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
178 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
179 location /sr_uri_except { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
180 js_content sr_uri_except; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
181 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
182 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
183 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
184 location /file/ { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
185 alias %%TESTDIR%%/; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
186 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
187 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
188 location /p/ { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
189 proxy_cache $arg_c; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
190 proxy_pass http://127.0.0.1:8081/; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
191 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
192 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
193 location /daemon/ { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
194 proxy_pass http://127.0.0.1:8082/; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
195 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
196 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
197 location /too_large/ { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
198 subrequest_output_buffer_size 3; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
199 proxy_pass http://127.0.0.1:8081/; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
200 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
201 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
202 location /sr_in_sr { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
203 js_content sr_in_sr; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
204 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
205 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
206 location /unavail { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
207 proxy_pass http://127.0.0.1:8084/; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
208 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
209 |
1359
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
210 location /sr_parent { |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
211 js_content sr_parent; |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
212 } |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
213 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
214 location /js_sub { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
215 js_content js_sub; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
216 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
217 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
218 location /return { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
219 return 200 '["$request_method"]'; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
220 } |
1616
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
221 |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
222 location /error_page_404 { |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
223 return 404; |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
224 |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
225 error_page 404 /404.html; |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
226 } |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
227 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
228 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
229 server { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
230 listen 127.0.0.1:8081; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
231 server_name localhost; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
232 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
233 location /sub1 { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
234 add_header H $arg_h; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
235 return 206 '{"a": {"b": 1}}'; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
236 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
237 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
238 location /sub2 { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
239 return 404 '{"e": "msg"}'; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
240 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
241 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
242 location /method { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
243 return 200 '["$request_method"]'; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
244 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
245 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
246 location /body { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
247 js_content body; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
248 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
249 |
1554
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
250 location /detached { |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
251 js_content detached; |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
252 } |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
253 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
254 location /delayed { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
255 js_content delayed; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
256 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
257 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
258 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
259 server { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
260 listen 127.0.0.1:8084; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
261 server_name localhost; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
262 |
1337 | 263 return 444; |
264 } | |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
265 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
266 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
267 EOF |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
268 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
269 $t->write_file('test.js', <<EOF); |
1567
726877fc4b08
Tests: fixed js_subrequest.t compatibility to 0.3.7.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1557
diff
changeset
|
270 this.Failed = {get toConvert() { return {toString(){return {};}}}}; |
726877fc4b08
Tests: fixed js_subrequest.t compatibility to 0.3.7.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1557
diff
changeset
|
271 |
1616
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
272 function test_njs(r) { |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
273 r.return(200, njs.version); |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
274 } |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
275 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
276 function sr(r) { |
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
277 subrequest_fn(r, ['/p/sub2'], ['uri', 'status']) |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
278 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
279 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
280 function sr_pr(r) { |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
281 r.subrequest('/p/sub1', 'h=xxx') |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
282 .then(reply => r.return(200, JSON.stringify({h:reply.headersOut.h}))) |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
283 } |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
284 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
285 function sr_args(r) { |
1543
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
286 r.subrequest('/p/sub1', 'h=xxx', reply => { |
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
287 r.return(200, JSON.stringify({h:reply.headersOut.h})); |
1338 | 288 }); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
289 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
290 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
291 function sr_options_args(r) { |
1543
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
292 r.subrequest('/p/sub1', {args:'h=xxx'}, reply => { |
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
293 r.return(200, JSON.stringify({h:reply.headersOut.h})); |
1338 | 294 }); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
295 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
296 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
297 function sr_options_args_pr(r) { |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
298 r.subrequest('/p/sub1', {args:'h=xxx'}) |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
299 .then(reply => r.return(200, JSON.stringify({h:reply.headersOut.h}))) |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
300 } |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
301 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
302 function sr_options_method(r) { |
1482
34e86a28cabd
Tests: adapted js_subrequests.t to njs changes after 0.3.3.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1466
diff
changeset
|
303 r.subrequest('/p/method', {method:r.args.m}, body_fwd_cb); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
304 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
305 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
306 function sr_options_method_pr(r) { |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
307 r.subrequest('/p/method', {method:r.args.m}) |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
308 .then(body_fwd_cb); |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
309 } |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
310 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
311 function sr_options_body(r) { |
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
312 r.subrequest('/p/body', {method:'POST', body:'["REQ-BODY"]'}, |
1543
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
313 body_fwd_cb); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
314 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
315 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
316 function sr_options_method_head(r) { |
1543
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
317 r.subrequest('/p/method', {method:'HEAD'}, reply => { |
1557
b194552fcc21
Tests: adapted js_subrequests.t to njs changes after 0.4.0.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1554
diff
changeset
|
318 r.return(200, JSON.stringify({c:reply.status})); |
1338 | 319 }); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
320 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
321 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
322 function sr_body(r) { |
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
323 r.subrequest('/p/sub1', body_fwd_cb); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
324 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
325 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
326 function sr_body_pr(r) { |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
327 r.subrequest('/p/sub1') |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
328 .then(body_fwd_cb); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
329 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
330 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
331 function sr_body_special(r) { |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
332 r.subrequest('/p/sub2', body_fwd_cb); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
333 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
334 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
335 function body(r) { |
1543
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
336 r.return(200, r.variables.request_body); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
337 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
338 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
339 function delayed(r) { |
1543
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
340 setTimeout(r => r.return(200), 100, r); |
1554
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
341 } |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
342 |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
343 function detached(r) { |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
344 var method = r.variables.request_method; |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
345 r.log(`DETACHED: \${method} args: \${r.variables.args}`); |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
346 |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
347 r.return(200); |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
348 } |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
349 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
350 function sr_in_variable_handler(r) { |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
351 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
352 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
353 function async_var(r) { |
1543
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
354 r.subrequest('/p/delayed', reply => { |
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
355 r.return(200, JSON.stringify(["CB-VAR"])); |
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
356 }); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
357 |
1338 | 358 return ""; |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
359 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
360 |
1616
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
361 function sr_error_page(r) { |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
362 r.subrequest('/error_page_404') |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
363 .then(reply => {r.return(200, `reply.status:\${reply.status}`)}); |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
364 } |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
365 |
1554
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
366 function subrequest_var(r) { |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
367 r.subrequest('/p/detached', {detached:true}); |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
368 r.subrequest('/p/detached', {detached:true, args:'a=yyy', |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
369 method:'POST'}); |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
370 |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
371 return "subrequest_var"; |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
372 } |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
373 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
374 function sr_file(r) { |
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
375 r.subrequest('/file/t', body_fwd_cb); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
376 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
377 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
378 function sr_cache(r) { |
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
379 r.subrequest('/p/t', body_fwd_cb); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
380 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
381 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
382 function sr_unavail(req) { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
383 subrequest_fn(req, ['/unavail'], ['uri', 'status']); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
384 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
385 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
386 function sr_unavail_pr(req) { |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
387 subrequest_fn_pr(req, ['/unavail'], ['uri', 'status']); |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
388 } |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
389 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
390 function sr_broken(r) { |
1543
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
391 r.subrequest('/daemon/unfinished', reply => { |
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
392 r.return(200, JSON.stringify({code:reply.status})); |
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
393 }); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
394 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
395 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
396 function sr_too_large(r) { |
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
397 r.subrequest('/too_large/t', body_fwd_cb); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
398 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
399 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
400 function sr_in_sr(r) { |
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
401 r.subrequest('/sr', body_fwd_cb); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
402 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
403 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
404 function sr_js_in_subrequest(r) { |
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
405 r.subrequest('/js_sub', body_fwd_cb); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
406 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
407 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
408 function sr_js_in_subrequest_pr(r) { |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
409 r.subrequest('/js_sub') |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
410 .then(body_fwd_cb); |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
411 } |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
412 |
1359
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
413 function sr_in_sr_callback(r) { |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
414 r.subrequest('/return', function (reply) { |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
415 try { |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
416 reply.subrequest('/return'); |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
417 |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
418 } catch (err) { |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
419 r.return(200, JSON.stringify({e:err.message})); |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
420 return; |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
421 } |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
422 |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
423 r.return(200); |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
424 }); |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
425 } |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
426 |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
427 function sr_parent(r) { |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
428 try { |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
429 var parent = r.parent; |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
430 |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
431 } catch (err) { |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
432 r.return(200, JSON.stringify({e:err.message})); |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
433 return; |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
434 } |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
435 |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
436 r.return(200); |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
437 } |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
438 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
439 function sr_out_of_order(r) { |
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
440 subrequest_fn(r, ['/p/delayed', '/p/sub1', '/unknown'], |
1338 | 441 ['uri', 'status']); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
442 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
443 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
444 function collect(replies, props, total, reply) { |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
445 reply.log(`subrequest handler: \${reply.uri} status: \${reply.status}`) |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
446 |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
447 var rep = {}; |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
448 props.forEach(p => {rep[p] = reply[p]}); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
449 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
450 replies.push(rep); |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
451 |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
452 if (replies.length == total) { |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
453 reply.parent.return(200, JSON.stringify(replies)); |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
454 } |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
455 } |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
456 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
457 function subrequest_fn(r, subs, props) { |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
458 var replies = []; |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
459 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
460 subs.forEach(sr => |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
461 r.subrequest(sr, collect.bind(null, replies, |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
462 props, subs.length))); |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
463 } |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
464 |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
465 function subrequest_fn_pr(r, subs, props) { |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
466 var replies = []; |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
467 |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
468 subs.forEach(sr => r.subrequest(sr) |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
469 .then(collect.bind(null, replies, props, subs.length))); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
470 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
471 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
472 function sr_except_not_a_func(r) { |
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
473 r.subrequest('/sub1', 'a=1', 'b'); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
474 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
475 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
476 function sr_except_failed_to_convert_options_arg(r) { |
1567
726877fc4b08
Tests: fixed js_subrequest.t compatibility to 0.3.7.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1557
diff
changeset
|
477 r.subrequest('/sub1', {args:Failed.toConvert}, ()=>{}); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
478 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
479 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
480 function sr_uri_except(r) { |
1567
726877fc4b08
Tests: fixed js_subrequest.t compatibility to 0.3.7.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1557
diff
changeset
|
481 r.subrequest(Failed.toConvert, 'a=1', 'b'); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
482 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
483 |
1543
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
484 function body_fwd_cb(r) { |
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
485 r.parent.return(200, JSON.stringify(JSON.parse(r.responseBody))); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
486 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
487 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
488 function js_sub(r) { |
1543
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
489 r.return(200, '["JS-SUB"]'); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
490 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
491 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
492 EOF |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
493 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
494 $t->write_file('t', '["SEE-THIS"]'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
495 |
1616
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
496 $t->try_run('no njs available')->plan(32); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
497 $t->run_daemon(\&http_daemon); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
498 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
499 ############################################################################### |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
500 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
501 is(get_json('/sr'), '[{"status":404,"uri":"/p/sub2"}]', 'sr'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
502 is(get_json('/sr_args'), '{"h":"xxx"}', 'sr_args'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
503 is(get_json('/sr_options_args'), '{"h":"xxx"}', 'sr_options_args'); |
1482
34e86a28cabd
Tests: adapted js_subrequests.t to njs changes after 0.3.3.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1466
diff
changeset
|
504 is(get_json('/sr_options_method?m=POST'), '["POST"]', 'sr method POST'); |
34e86a28cabd
Tests: adapted js_subrequests.t to njs changes after 0.3.3.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1466
diff
changeset
|
505 is(get_json('/sr_options_method?m=PURGE'), '["PURGE"]', 'sr method PURGE'); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
506 is(get_json('/sr_options_body'), '["REQ-BODY"]', 'sr_options_body'); |
1557
b194552fcc21
Tests: adapted js_subrequests.t to njs changes after 0.4.0.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1554
diff
changeset
|
507 is(get_json('/sr_options_method_head'), '{"c":200}', 'sr_options_method_head'); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
508 is(get_json('/sr_body'), '{"a":{"b":1}}', 'sr_body'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
509 is(get_json('/sr_body_special'), '{"e":"msg"}', 'sr_body_special'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
510 is(get_json('/sr_in_variable_handler'), '["CB-VAR"]', 'sr_in_variable_handler'); |
1466
95951c72e721
Tests: use TODO for js_subrequests.t sr_file + aio test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1436
diff
changeset
|
511 |
1553
01867708af95
Tests: adjusted todo_alerts() in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1545
diff
changeset
|
512 $t->todo_alerts() if $t->read_file('nginx.conf') =~ /aio (on|threads)/ |
01867708af95
Tests: adjusted todo_alerts() in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1545
diff
changeset
|
513 and !$t->has_version('1.17.9'); |
1466
95951c72e721
Tests: use TODO for js_subrequests.t sr_file + aio test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1436
diff
changeset
|
514 |
95951c72e721
Tests: use TODO for js_subrequests.t sr_file + aio test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1436
diff
changeset
|
515 TODO: { |
1553
01867708af95
Tests: adjusted todo_alerts() in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1545
diff
changeset
|
516 local $TODO = 'header already sent' if $t->read_file('nginx.conf') =~ /aio on/ |
01867708af95
Tests: adjusted todo_alerts() in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1545
diff
changeset
|
517 and !$t->has_version('1.17.9'); |
01867708af95
Tests: adjusted todo_alerts() in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1545
diff
changeset
|
518 local $TODO = 'open socket left' if $t->read_file('nginx.conf') =~ /aio thread/ |
01867708af95
Tests: adjusted todo_alerts() in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1545
diff
changeset
|
519 and !$t->has_version('1.17.9'); |
1466
95951c72e721
Tests: use TODO for js_subrequests.t sr_file + aio test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1436
diff
changeset
|
520 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
521 is(get_json('/sr_file'), '["SEE-THIS"]', 'sr_file'); |
1466
95951c72e721
Tests: use TODO for js_subrequests.t sr_file + aio test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1436
diff
changeset
|
522 |
95951c72e721
Tests: use TODO for js_subrequests.t sr_file + aio test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1436
diff
changeset
|
523 } |
95951c72e721
Tests: use TODO for js_subrequests.t sr_file + aio test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1436
diff
changeset
|
524 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
525 is(get_json('/sr_cache?c=1'), '["SEE-THIS"]', 'sr_cache'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
526 is(get_json('/sr_cache?c=1'), '["SEE-THIS"]', 'sr_cached'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
527 is(get_json('/sr_js_in_subrequest'), '["JS-SUB"]', 'sr_js_in_subrequest'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
528 is(get_json('/sr_unavail'), '[{"status":502,"uri":"/unavail"}]', |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
529 'sr_unavail'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
530 is(get_json('/sr_out_of_order'), |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
531 '[{"status":404,"uri":"/unknown"},' . |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
532 '{"status":206,"uri":"/p/sub1"},' . |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
533 '{"status":200,"uri":"/p/delayed"}]', |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
534 'sr_multi'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
535 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
536 is(get_json('/sr_pr'), '{"h":"xxx"}', 'sr_promise'); |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
537 is(get_json('/sr_options_args_pr'), '{"h":"xxx"}', 'sr_options_args_pr'); |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
538 is(get_json('/sr_options_method_pr?m=PUT'), '["PUT"]', 'sr method PUT'); |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
539 is(get_json('/sr_body_pr'), '{"a":{"b":1}}', 'sr_body_pr'); |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
540 is(get_json('/sr_js_in_subrequest_pr'), '["JS-SUB"]', 'sr_js_in_subrequest_pr'); |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
541 is(get_json('/sr_unavail_pr'), '[{"status":502,"uri":"/unavail"}]', |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
542 'sr_unavail_pr'); |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
543 |
1554
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
544 like(http_get('/sr_detached_in_variable_handler'), qr/subrequest_var/, |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
545 'sr_detached_in_variable_handler'); |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
546 |
1616
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
547 TODO: { |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
548 todo_skip 'leaves coredump', 1 unless $ENV{TEST_NGINX_UNSAFE} |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
549 or http_get('/njs') =~ /^([.0-9]+)$/m && $1 ge '0.5.0'; |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
550 |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
551 like(http_get('/sr_error_page'), qr/reply\.status:404/, |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
552 'sr_error_page'); |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
553 |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
554 } |
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
555 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
556 http_get('/sr_broken'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
557 http_get('/sr_in_sr'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
558 http_get('/sr_in_variable_handler'); |
1616
cd0461e1e392
Tests: added js subrequest test with error_page redirect.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1614
diff
changeset
|
559 http_get('/sr_async_var'); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
560 http_get('/sr_too_large'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
561 http_get('/sr_except_not_a_func'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
562 http_get('/sr_except_failed_to_convert_options_arg'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
563 http_get('/sr_uri_except'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
564 |
1359
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
565 is(get_json('/sr_in_sr_callback'), |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
566 '{"e":"subrequest can only be created for the primary request"}', |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
567 'subrequest for non-primary request'); |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
568 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
569 $t->stop(); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
570 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
571 ok(index($t->read_file('error.log'), 'callback is not a function') > 0, |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
572 'subrequest cb exception'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
573 ok(index($t->read_file('error.log'), 'failed to convert uri arg') > 0, |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
574 'subrequest uri exception'); |
1567
726877fc4b08
Tests: fixed js_subrequest.t compatibility to 0.3.7.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1557
diff
changeset
|
575 ok(index($t->read_file('error.log'), 'failed to convert options.args') > 0, |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
576 'subrequest invalid args exception'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
577 ok(index($t->read_file('error.log'), 'too big subrequest response') > 0, |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
578 'subrequest too large body'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
579 ok(index($t->read_file('error.log'), 'subrequest creation failed') > 0, |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
580 'subrequest creation failed'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
581 ok(index($t->read_file('error.log'), |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
582 'js subrequest: failed to get the parent context') > 0, |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
583 'zero parent ctx'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
584 |
1554
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
585 ok(index($t->read_file('error.log'), 'DETACHED') > 0, |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
586 'detached subrequest'); |
cae83c98654a
Tests: added detached subrequest js tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1553
diff
changeset
|
587 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
588 ############################################################################### |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
589 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
590 sub recode { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
591 my $json; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
592 eval { $json = JSON::PP::decode_json(shift) }; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
593 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
594 if ($@) { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
595 return "<failed to parse JSON>"; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
596 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
597 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
598 JSON::PP->new()->canonical()->encode($json); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
599 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
600 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
601 sub get_json { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
602 http_get(shift) =~ /\x0d\x0a?\x0d\x0a?(.*)/ms; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
603 recode($1); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
604 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
605 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
606 ############################################################################### |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
607 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
608 sub http_daemon { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
609 my $server = IO::Socket::INET->new( |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
610 Proto => 'tcp', |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
611 LocalAddr => '127.0.0.1:' . port(8082), |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
612 Listen => 5, |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
613 Reuse => 1 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
614 ) |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
615 or die "Can't create listening socket: $!\n"; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
616 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
617 local $SIG{PIPE} = 'IGNORE'; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
618 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
619 while (my $client = $server->accept()) { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
620 $client->autoflush(1); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
621 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
622 my $headers = ''; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
623 my $uri = ''; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
624 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
625 while (<$client>) { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
626 $headers .= $_; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
627 last if (/^\x0d?\x0a?$/); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
628 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
629 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
630 $uri = $1 if $headers =~ /^\S+\s+([^ ]+)\s+HTTP/i; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
631 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
632 if ($uri eq '/unfinished') { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
633 print $client |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
634 "HTTP/1.1 200 OK" . CRLF . |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
635 "Transfer-Encoding: chunked" . CRLF . |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
636 "Content-Length: 100" . CRLF . |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
637 CRLF . |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
638 "unfinished" . CRLF; |
1338 | 639 close($client); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
640 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
641 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
642 } |
1338 | 643 |
644 ############################################################################### |