Mercurial > hg > nginx-tests
annotate js_subrequests.t @ 1553:01867708af95
Tests: adjusted todo_alerts() in js_subrequest.t.
author | Dmitry Volyntsev <xeioex@nginx.com> |
---|---|
date | Mon, 02 Mar 2020 19:46:52 +0300 |
parents | cde406e61e48 |
children | cae83c98654a |
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 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
48 js_set $async_var async_var; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
49 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
50 server { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
51 listen 127.0.0.1:8080; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
52 server_name localhost; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
53 |
1359
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
54 location /njs { |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
55 js_content test_njs; |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
56 } |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
57 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
58 location /sr { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
59 js_content sr; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
60 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
61 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
62 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
|
63 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
|
64 } |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
65 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
66 location /sr_args { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
67 js_content sr_args; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
68 } |
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 location /sr_options_args { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
71 js_content sr_options_args; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
72 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
73 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
74 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
|
75 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
|
76 } |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
77 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
78 location /sr_options_method { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
79 js_content sr_options_method; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
80 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
81 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
82 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
|
83 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
|
84 } |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
85 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
86 location /sr_options_body { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
87 js_content sr_options_body; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
88 } |
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 location /sr_options_method_head { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
91 js_content sr_options_method_head; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
92 } |
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 location /sr_body { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
95 js_content sr_body; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
96 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
97 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
98 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
|
99 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
|
100 } |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
101 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
102 location /sr_body_special { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
103 js_content sr_body_special; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
104 } |
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 location /sr_in_variable_handler { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
107 set $_ $async_var; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
108 js_content sr_in_variable_handler; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
109 } |
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 location /sr_error_page { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
112 set $_ $async_var; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
113 error_page 404 /return; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
114 return 404; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
115 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
116 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
117 location /sr_js_in_subrequest { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
118 js_content sr_js_in_subrequest; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
119 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
120 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
121 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
|
122 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
|
123 } |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
124 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
125 location /sr_file { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
126 js_content sr_file; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
127 } |
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 location /sr_cache { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
130 js_content sr_cache; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
131 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
132 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
133 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
134 location /sr_unavail { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
135 js_content sr_unavail; |
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 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
138 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
|
139 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
|
140 } |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
141 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
142 location /sr_broken { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
143 js_content sr_broken; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
144 } |
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 location /sr_too_large { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
147 js_content sr_too_large; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
148 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
149 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
150 location /sr_out_of_order { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
151 js_content sr_out_of_order; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
152 } |
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 location /sr_except_not_a_func { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
155 js_content sr_except_not_a_func; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
156 } |
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 location /sr_except_failed_to_convert_arg { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
159 js_content sr_except_failed_to_convert_arg; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
160 } |
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 location /sr_except_failed_to_convert_options_arg { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
163 js_content sr_except_failed_to_convert_options_arg; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
164 } |
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 location /sr_except_invalid_options_header_only { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
167 js_content sr_except_invalid_options_header_only; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
168 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
169 |
1359
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
170 location /sr_in_sr_callback { |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
171 js_content sr_in_sr_callback; |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
172 } |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
173 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
174 location /sr_uri_except { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
175 js_content sr_uri_except; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
176 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
177 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
178 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
179 location /file/ { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
180 alias %%TESTDIR%%/; |
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 location /p/ { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
184 proxy_cache $arg_c; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
185 proxy_pass http://127.0.0.1:8081/; |
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 /daemon/ { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
189 proxy_pass http://127.0.0.1:8082/; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
190 } |
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 location /too_large/ { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
193 subrequest_output_buffer_size 3; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
194 proxy_pass http://127.0.0.1:8081/; |
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 /sr_in_sr { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
198 js_content sr_in_sr; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
199 } |
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 location /unavail { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
202 proxy_pass http://127.0.0.1:8084/; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
203 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
204 |
1359
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
205 location /sr_parent { |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
206 js_content sr_parent; |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
207 } |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
208 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
209 location /js_sub { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
210 js_content js_sub; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
211 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
212 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
213 location /return { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
214 return 200 '["$request_method"]'; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
215 } |
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 server { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
219 listen 127.0.0.1:8081; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
220 server_name localhost; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
221 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
222 location /sub1 { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
223 add_header H $arg_h; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
224 return 206 '{"a": {"b": 1}}'; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
225 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
226 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
227 location /sub2 { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
228 return 404 '{"e": "msg"}'; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
229 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
230 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
231 location /method { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
232 return 200 '["$request_method"]'; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
233 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
234 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
235 location /body { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
236 js_content body; |
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 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
239 location /delayed { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
240 js_content delayed; |
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 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
243 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
244 server { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
245 listen 127.0.0.1:8084; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
246 server_name localhost; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
247 |
1337 | 248 return 444; |
249 } | |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
250 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
251 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
252 EOF |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
253 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
254 $t->write_file('test.js', <<EOF); |
1359
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
255 function test_njs(r) { |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
256 r.return(200, njs.version); |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
257 } |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
258 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
259 function sr(r) { |
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
260 subrequest_fn(r, ['/p/sub2'], ['uri', 'status']) |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
261 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
262 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
263 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
|
264 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
|
265 .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
|
266 } |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
267 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
268 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
|
269 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
|
270 r.return(200, JSON.stringify({h:reply.headersOut.h})); |
1338 | 271 }); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
272 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
273 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
274 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
|
275 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
|
276 r.return(200, JSON.stringify({h:reply.headersOut.h})); |
1338 | 277 }); |
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_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
|
281 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
|
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_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
|
286 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
|
287 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
288 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
289 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
|
290 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
|
291 .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
|
292 } |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
293 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
294 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
|
295 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
|
296 body_fwd_cb); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
297 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
298 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
299 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
|
300 r.subrequest('/p/method', {method:'HEAD'}, reply => { |
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
301 r.return(200, JSON.stringify({c:reply.status, |
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
302 s:reply.responseBody.length})); |
1338 | 303 }); |
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 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
306 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
|
307 r.subrequest('/p/sub1', body_fwd_cb); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
308 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
309 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
310 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
|
311 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
|
312 .then(body_fwd_cb); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
313 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
314 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
315 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
|
316 r.subrequest('/p/sub2', body_fwd_cb); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
317 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
318 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
319 function body(r) { |
1543
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
320 r.return(200, r.variables.request_body); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
321 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
322 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
323 function delayed(r) { |
1543
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
324 setTimeout(r => r.return(200), 100, r); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
325 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
326 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
327 function sr_in_variable_handler(r) { |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
328 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
329 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
330 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
|
331 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
|
332 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
|
333 }); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
334 |
1338 | 335 return ""; |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
336 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
337 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
338 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
|
339 r.subrequest('/file/t', body_fwd_cb); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
340 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
341 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
342 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
|
343 r.subrequest('/p/t', body_fwd_cb); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
344 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
345 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
346 function sr_unavail(req) { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
347 subrequest_fn(req, ['/unavail'], ['uri', 'status']); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
348 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
349 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
350 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
|
351 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
|
352 } |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
353 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
354 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
|
355 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
|
356 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
|
357 }); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
358 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
359 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
360 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
|
361 r.subrequest('/too_large/t', body_fwd_cb); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
362 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
363 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
364 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
|
365 r.subrequest('/sr', body_fwd_cb); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
366 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
367 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
368 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
|
369 r.subrequest('/js_sub', body_fwd_cb); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
370 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
371 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
372 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
|
373 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
|
374 .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
|
375 } |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
376 |
1359
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
377 function sr_in_sr_callback(r) { |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
378 r.subrequest('/return', function (reply) { |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
379 try { |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
380 reply.subrequest('/return'); |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
381 |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
382 } catch (err) { |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
383 r.return(200, JSON.stringify({e:err.message})); |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
384 return; |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
385 } |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
386 |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
387 r.return(200); |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
388 }); |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
389 } |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
390 |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
391 function sr_parent(r) { |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
392 try { |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
393 var parent = r.parent; |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
394 |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
395 } catch (err) { |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
396 r.return(200, JSON.stringify({e:err.message})); |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
397 return; |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
398 } |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
399 |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
400 r.return(200); |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
401 } |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
402 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
403 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
|
404 subrequest_fn(r, ['/p/delayed', '/p/sub1', '/unknown'], |
1338 | 405 ['uri', 'status']); |
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 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
|
409 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
|
410 |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
411 var rep = {}; |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
412 props.forEach(p => {rep[p] = reply[p]}); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
413 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
414 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
|
415 |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
416 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
|
417 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
|
418 } |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
419 } |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
420 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
421 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
|
422 var replies = []; |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
423 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
424 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
|
425 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
|
426 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
|
427 } |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
428 |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
429 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
|
430 var replies = []; |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
431 |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
432 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
|
433 .then(collect.bind(null, replies, props, subs.length))); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
434 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
435 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
436 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
|
437 r.subrequest('/sub1', 'a=1', 'b'); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
438 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
439 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
440 function sr_except_failed_to_convert_arg(r) { |
1543
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
441 r.subrequest('/sub1', r.args, ()=>{}); |
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 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
444 function sr_except_failed_to_convert_options_arg(r) { |
1543
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
445 r.subrequest('/sub1', {args:r.args}, ()=>{}); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
446 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
447 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
448 function sr_uri_except(r) { |
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
449 r.subrequest(r, 'a=1', 'b'); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
450 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
451 |
1543
0b97d431571f
Tests: get rid of outdated API in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1533
diff
changeset
|
452 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
|
453 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
|
454 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
455 |
1436
9d8b100a6ce3
Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1375
diff
changeset
|
456 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
|
457 r.return(200, '["JS-SUB"]'); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
458 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
459 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
460 EOF |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
461 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
462 $t->write_file('t', '["SEE-THIS"]'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
463 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
464 $t->try_run('no njs available')->plan(29); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
465 $t->run_daemon(\&http_daemon); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
466 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
467 ############################################################################### |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
468 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
469 is(get_json('/sr'), '[{"status":404,"uri":"/p/sub2"}]', 'sr'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
470 is(get_json('/sr_args'), '{"h":"xxx"}', 'sr_args'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
471 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
|
472 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
|
473 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
|
474 is(get_json('/sr_options_body'), '["REQ-BODY"]', 'sr_options_body'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
475 is(get_json('/sr_options_method_head'), '{"c":200,"s":0}', |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
476 'sr_options_method_head'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
477 is(get_json('/sr_body'), '{"a":{"b":1}}', 'sr_body'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
478 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
|
479 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
|
480 |
1553
01867708af95
Tests: adjusted todo_alerts() in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1545
diff
changeset
|
481 $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
|
482 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
|
483 |
95951c72e721
Tests: use TODO for js_subrequests.t sr_file + aio test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1436
diff
changeset
|
484 TODO: { |
1553
01867708af95
Tests: adjusted todo_alerts() in js_subrequest.t.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1545
diff
changeset
|
485 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
|
486 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
|
487 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
|
488 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
|
489 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
490 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
|
491 |
95951c72e721
Tests: use TODO for js_subrequests.t sr_file + aio test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1436
diff
changeset
|
492 } |
95951c72e721
Tests: use TODO for js_subrequests.t sr_file + aio test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1436
diff
changeset
|
493 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
494 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
|
495 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
|
496 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
|
497 is(get_json('/sr_unavail'), '[{"status":502,"uri":"/unavail"}]', |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
498 'sr_unavail'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
499 is(get_json('/sr_out_of_order'), |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
500 '[{"status":404,"uri":"/unknown"},' . |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
501 '{"status":206,"uri":"/p/sub1"},' . |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
502 '{"status":200,"uri":"/p/delayed"}]', |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
503 'sr_multi'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
504 |
1545
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
505 TODO: { |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
506 local $TODO = 'not yet' |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
507 unless http_get('/njs') =~ /^([.0-9]+)$/m && $1 ge '0.3.8'; |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
508 |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
509 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
|
510 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
|
511 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
|
512 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
|
513 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
|
514 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
|
515 '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
|
516 |
cde406e61e48
Tests: adapted js_subrequests.t to njs changes after 0.3.8.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1544
diff
changeset
|
517 } |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
518 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
519 http_get('/sr_broken'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
520 http_get('/sr_in_sr'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
521 http_get('/sr_in_variable_handler'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
522 http_get('/sr_error_page'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
523 http_get('/sr_too_large'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
524 http_get('/sr_except_not_a_func'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
525 http_get('/sr_except_failed_to_convert_arg'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
526 http_get('/sr_except_failed_to_convert_options_arg'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
527 http_get('/sr_uri_except'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
528 |
1359
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
529 is(get_json('/sr_in_sr_callback'), |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
530 '{"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
|
531 'subrequest for non-primary request'); |
28ba4b465635
Tests: more njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
1339
diff
changeset
|
532 |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
533 $t->stop(); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
534 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
535 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
|
536 'subrequest cb exception'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
537 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
|
538 'subrequest uri exception'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
539 ok(index($t->read_file('error.log'), 'failed to convert args') > 0, |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
540 'subrequest invalid args exception'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
541 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
|
542 'subrequest too large body'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
543 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
|
544 'subrequest creation failed'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
545 ok(index($t->read_file('error.log'), |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
546 'js subrequest: failed to get the parent context') > 0, |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
547 'zero parent ctx'); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
548 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
549 ############################################################################### |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
550 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
551 sub recode { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
552 my $json; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
553 eval { $json = JSON::PP::decode_json(shift) }; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
554 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
555 if ($@) { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
556 return "<failed to parse JSON>"; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
557 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
558 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
559 JSON::PP->new()->canonical()->encode($json); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
560 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
561 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
562 sub get_json { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
563 http_get(shift) =~ /\x0d\x0a?\x0d\x0a?(.*)/ms; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
564 recode($1); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
565 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
566 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
567 ############################################################################### |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
568 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
569 sub http_daemon { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
570 my $server = IO::Socket::INET->new( |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
571 Proto => 'tcp', |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
572 LocalAddr => '127.0.0.1:' . port(8082), |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
573 Listen => 5, |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
574 Reuse => 1 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
575 ) |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
576 or die "Can't create listening socket: $!\n"; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
577 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
578 local $SIG{PIPE} = 'IGNORE'; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
579 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
580 while (my $client = $server->accept()) { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
581 $client->autoflush(1); |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
582 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
583 my $headers = ''; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
584 my $uri = ''; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
585 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
586 while (<$client>) { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
587 $headers .= $_; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
588 last if (/^\x0d?\x0a?$/); |
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 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
591 $uri = $1 if $headers =~ /^\S+\s+([^ ]+)\s+HTTP/i; |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
592 |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
593 if ($uri eq '/unfinished') { |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
594 print $client |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
595 "HTTP/1.1 200 OK" . CRLF . |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
596 "Transfer-Encoding: chunked" . CRLF . |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
597 "Content-Length: 100" . CRLF . |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
598 CRLF . |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
599 "unfinished" . CRLF; |
1338 | 600 close($client); |
1305
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
601 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
602 } |
8e593b068fc0
Tests: added njs subrequest tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff
changeset
|
603 } |
1338 | 604 |
605 ############################################################################### |