Mercurial > hg > nginx-tests
annotate js_subrequests.t @ 1651:a78eedc39484
Tests: h2.t tests speedup.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Wed, 10 Feb 2021 15:12:56 +0300 |
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 ############################################################################### |