Mercurial > hg > nginx-site
annotate xml/en/docs/http/ngx_http_js_module.xml @ 2783:87713cb4be56
Documented WebCrypto API for njs Reference.
author | Yaroslav Zhuravlev <yar@nginx.com> |
---|---|
date | Tue, 19 Oct 2021 15:12:01 +0100 |
parents | b6bbdce8c659 |
children | 65591dd31d64 |
rev | line source |
---|---|
1840
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
1 <?xml version="1.0"?> |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
2 |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
3 <!-- |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
4 Copyright (C) Nginx, Inc. |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
5 --> |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
6 |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
7 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd"> |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
8 |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
9 <module name="Module ngx_http_js_module" |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
10 link="/en/docs/http/ngx_http_js_module.html" |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
11 lang="en" |
2779
b6bbdce8c659
Updated Example Configuration in ngx_http_js_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2773
diff
changeset
|
12 rev="31"> |
1840
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
13 |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
14 <section id="summary"> |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
15 |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
16 <para> |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
17 The <literal>ngx_http_js_module</literal> module is used to implement |
1844
f56626ce9c40
Changed JavaScript to nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1840
diff
changeset
|
18 location and variable handlers |
2245
87a0e2c73a25
Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2244
diff
changeset
|
19 in <link doc="../njs/index.xml">njs</link> — |
1844
f56626ce9c40
Changed JavaScript to nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1840
diff
changeset
|
20 a subset of the JavaScript language. |
1840
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
21 </para> |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
22 |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
23 <para> |
2188
523dc4cc8745
Updated installation procedure in njs modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2187
diff
changeset
|
24 Download and install instructions are available |
2245
87a0e2c73a25
Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2244
diff
changeset
|
25 <link doc="../njs/install.xml">here</link>. |
1840
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
26 </para> |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
27 |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
28 </section> |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
29 |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
30 |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
31 <section id="example" name="Example Configuration"> |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
32 |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
33 <para> |
2530
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
34 The example works since |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
35 <link doc="../njs/changes.xml" id="njs0.4.0">0.4.0</link>. |
1840
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
36 <example> |
2190
dfc49994218c
Updated example in HTTP njs module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2188
diff
changeset
|
37 http { |
2530
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
38 js_import http.js; |
1840
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
39 |
2530
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
40 js_set $foo http.foo; |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
41 js_set $summary http.summary; |
2779
b6bbdce8c659
Updated Example Configuration in ngx_http_js_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2773
diff
changeset
|
42 js_set $hash http.hash; |
1858
36cbfff92c6d
Restricted context of js_set directive to http and stream only.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1853
diff
changeset
|
43 |
2190
dfc49994218c
Updated example in HTTP njs module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2188
diff
changeset
|
44 server { |
dfc49994218c
Updated example in HTTP njs module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2188
diff
changeset
|
45 listen 8000; |
1840
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
46 |
2190
dfc49994218c
Updated example in HTTP njs module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2188
diff
changeset
|
47 location / { |
dfc49994218c
Updated example in HTTP njs module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2188
diff
changeset
|
48 add_header X-Foo $foo; |
2530
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
49 js_content http.baz; |
2190
dfc49994218c
Updated example in HTTP njs module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2188
diff
changeset
|
50 } |
1840
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
51 |
2206
5cacd6fffade
Eliminated some examples of unsafe prefix locations.
Ruslan Ermilov <ru@nginx.com>
parents:
2190
diff
changeset
|
52 location = /summary { |
2190
dfc49994218c
Updated example in HTTP njs module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2188
diff
changeset
|
53 return 200 $summary; |
dfc49994218c
Updated example in HTTP njs module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2188
diff
changeset
|
54 } |
dfc49994218c
Updated example in HTTP njs module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2188
diff
changeset
|
55 |
2206
5cacd6fffade
Eliminated some examples of unsafe prefix locations.
Ruslan Ermilov <ru@nginx.com>
parents:
2190
diff
changeset
|
56 location = /hello { |
2530
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
57 js_content http.hello; |
2190
dfc49994218c
Updated example in HTTP njs module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2188
diff
changeset
|
58 } |
2779
b6bbdce8c659
Updated Example Configuration in ngx_http_js_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2773
diff
changeset
|
59 |
b6bbdce8c659
Updated Example Configuration in ngx_http_js_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2773
diff
changeset
|
60 # since 0.7.0 |
b6bbdce8c659
Updated Example Configuration in ngx_http_js_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2773
diff
changeset
|
61 location = /fetch { |
b6bbdce8c659
Updated Example Configuration in ngx_http_js_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2773
diff
changeset
|
62 js_content http.fetch; |
b6bbdce8c659
Updated Example Configuration in ngx_http_js_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2773
diff
changeset
|
63 js_fetch_trusted_certificate /path/to/ISRG_Root_X1.pem; |
b6bbdce8c659
Updated Example Configuration in ngx_http_js_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2773
diff
changeset
|
64 } |
b6bbdce8c659
Updated Example Configuration in ngx_http_js_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2773
diff
changeset
|
65 |
b6bbdce8c659
Updated Example Configuration in ngx_http_js_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2773
diff
changeset
|
66 # since 0.7.0 |
b6bbdce8c659
Updated Example Configuration in ngx_http_js_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2773
diff
changeset
|
67 location = /crypto { |
b6bbdce8c659
Updated Example Configuration in ngx_http_js_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2773
diff
changeset
|
68 add_header Hash $hash; |
b6bbdce8c659
Updated Example Configuration in ngx_http_js_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2773
diff
changeset
|
69 return 200; |
b6bbdce8c659
Updated Example Configuration in ngx_http_js_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2773
diff
changeset
|
70 } |
1840
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
71 } |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
72 } |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
73 </example> |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
74 </para> |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
75 |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
76 <para> |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
77 The <path>http.js</path> file: |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
78 <example> |
2187
ed905ab118c7
Updated HTTP njs module according to njs 0.2.2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2175
diff
changeset
|
79 function foo(r) { |
ed905ab118c7
Updated HTTP njs module according to njs 0.2.2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2175
diff
changeset
|
80 r.log("hello from foo() handler"); |
1840
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
81 return "foo"; |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
82 } |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
83 |
2187
ed905ab118c7
Updated HTTP njs module according to njs 0.2.2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2175
diff
changeset
|
84 function summary(r) { |
1840
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
85 var a, s, h; |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
86 |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
87 s = "JS summary\n\n"; |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
88 |
2187
ed905ab118c7
Updated HTTP njs module according to njs 0.2.2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2175
diff
changeset
|
89 s += "Method: " + r.method + "\n"; |
ed905ab118c7
Updated HTTP njs module according to njs 0.2.2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2175
diff
changeset
|
90 s += "HTTP version: " + r.httpVersion + "\n"; |
ed905ab118c7
Updated HTTP njs module according to njs 0.2.2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2175
diff
changeset
|
91 s += "Host: " + r.headersIn.host + "\n"; |
ed905ab118c7
Updated HTTP njs module according to njs 0.2.2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2175
diff
changeset
|
92 s += "Remote Address: " + r.remoteAddress + "\n"; |
ed905ab118c7
Updated HTTP njs module according to njs 0.2.2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2175
diff
changeset
|
93 s += "URI: " + r.uri + "\n"; |
1840
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
94 |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
95 s += "Headers:\n"; |
2187
ed905ab118c7
Updated HTTP njs module according to njs 0.2.2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2175
diff
changeset
|
96 for (h in r.headersIn) { |
ed905ab118c7
Updated HTTP njs module according to njs 0.2.2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2175
diff
changeset
|
97 s += " header '" + h + "' is '" + r.headersIn[h] + "'\n"; |
1840
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
98 } |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
99 |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
100 s += "Args:\n"; |
2187
ed905ab118c7
Updated HTTP njs module according to njs 0.2.2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2175
diff
changeset
|
101 for (a in r.args) { |
ed905ab118c7
Updated HTTP njs module according to njs 0.2.2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2175
diff
changeset
|
102 s += " arg '" + a + "' is '" + r.args[a] + "'\n"; |
1840
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
103 } |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
104 |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
105 return s; |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
106 } |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
107 |
2187
ed905ab118c7
Updated HTTP njs module according to njs 0.2.2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2175
diff
changeset
|
108 function baz(r) { |
ed905ab118c7
Updated HTTP njs module according to njs 0.2.2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2175
diff
changeset
|
109 r.status = 200; |
ed905ab118c7
Updated HTTP njs module according to njs 0.2.2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2175
diff
changeset
|
110 r.headersOut.foo = 1234; |
ed905ab118c7
Updated HTTP njs module according to njs 0.2.2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2175
diff
changeset
|
111 r.headersOut['Content-Type'] = "text/plain; charset=utf-8"; |
ed905ab118c7
Updated HTTP njs module according to njs 0.2.2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2175
diff
changeset
|
112 r.headersOut['Content-Length'] = 15; |
ed905ab118c7
Updated HTTP njs module according to njs 0.2.2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2175
diff
changeset
|
113 r.sendHeader(); |
ed905ab118c7
Updated HTTP njs module according to njs 0.2.2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2175
diff
changeset
|
114 r.send("nginx"); |
ed905ab118c7
Updated HTTP njs module according to njs 0.2.2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2175
diff
changeset
|
115 r.send("java"); |
ed905ab118c7
Updated HTTP njs module according to njs 0.2.2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2175
diff
changeset
|
116 r.send("script"); |
1840
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
117 |
2187
ed905ab118c7
Updated HTTP njs module according to njs 0.2.2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2175
diff
changeset
|
118 r.finish(); |
1840
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
119 } |
2190
dfc49994218c
Updated example in HTTP njs module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2188
diff
changeset
|
120 |
dfc49994218c
Updated example in HTTP njs module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2188
diff
changeset
|
121 function hello(r) { |
dfc49994218c
Updated example in HTTP njs module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2188
diff
changeset
|
122 r.return(200, "Hello world!"); |
dfc49994218c
Updated example in HTTP njs module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2188
diff
changeset
|
123 } |
2530
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
124 |
2779
b6bbdce8c659
Updated Example Configuration in ngx_http_js_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2773
diff
changeset
|
125 // since 0.7.0 |
b6bbdce8c659
Updated Example Configuration in ngx_http_js_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2773
diff
changeset
|
126 async function fetch(r) { |
b6bbdce8c659
Updated Example Configuration in ngx_http_js_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2773
diff
changeset
|
127 let results = await Promise.all([ngx.fetch('http://nginx.org/'), |
b6bbdce8c659
Updated Example Configuration in ngx_http_js_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2773
diff
changeset
|
128 ngx.fetch('http://nginx.org/en/')]); |
b6bbdce8c659
Updated Example Configuration in ngx_http_js_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2773
diff
changeset
|
129 |
b6bbdce8c659
Updated Example Configuration in ngx_http_js_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2773
diff
changeset
|
130 r.return(200, JSON.stringify(results, undefined, 4)); |
b6bbdce8c659
Updated Example Configuration in ngx_http_js_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2773
diff
changeset
|
131 } |
b6bbdce8c659
Updated Example Configuration in ngx_http_js_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2773
diff
changeset
|
132 |
b6bbdce8c659
Updated Example Configuration in ngx_http_js_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2773
diff
changeset
|
133 // since 0.7.0 |
b6bbdce8c659
Updated Example Configuration in ngx_http_js_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2773
diff
changeset
|
134 async function hash(r) { |
b6bbdce8c659
Updated Example Configuration in ngx_http_js_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2773
diff
changeset
|
135 let hash = await crypto.subtle.digest('SHA-512', r.headersIn.host); |
b6bbdce8c659
Updated Example Configuration in ngx_http_js_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2773
diff
changeset
|
136 r.setReturnValue(Buffer.from(hash).toString('hex')); |
b6bbdce8c659
Updated Example Configuration in ngx_http_js_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2773
diff
changeset
|
137 } |
b6bbdce8c659
Updated Example Configuration in ngx_http_js_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2773
diff
changeset
|
138 |
b6bbdce8c659
Updated Example Configuration in ngx_http_js_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2773
diff
changeset
|
139 export default {foo, summary, baz, hello, fetch, hash}; |
1840
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
140 </example> |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
141 </para> |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
142 |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
143 </section> |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
144 |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
145 |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
146 <section id="directives" name="Directives"> |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
147 |
2664
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
148 <directive name="js_body_filter"> |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
149 <syntax><value>function</value> | <value>module.function</value> |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
150 [<value>buffer_type</value>=<value>string</value> | <value>buffer</value>]</syntax> |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
151 <default/> |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
152 <context>location</context> |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
153 <context>limit_except</context> |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
154 <appeared-in>0.5.2</appeared-in> |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
155 |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
156 <para> |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
157 Sets an njs function as a response body filter. |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
158 The filter function is called for each data chunk of a response body |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
159 with the following arguments: |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
160 |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
161 <list type="tag"> |
2675
893cd7724c8c
Documented the "r" argument for js_body_filter.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2664
diff
changeset
|
162 <tag-name><literal>r</literal></tag-name> |
893cd7724c8c
Documented the "r" argument for js_body_filter.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2664
diff
changeset
|
163 <tag-desc> |
893cd7724c8c
Documented the "r" argument for js_body_filter.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2664
diff
changeset
|
164 the <link doc="../njs/reference.xml" id="http">HTTP request</link> object |
893cd7724c8c
Documented the "r" argument for js_body_filter.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2664
diff
changeset
|
165 </tag-desc> |
893cd7724c8c
Documented the "r" argument for js_body_filter.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2664
diff
changeset
|
166 |
2664
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
167 <tag-name><literal>data</literal></tag-name> |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
168 <tag-desc> |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
169 the incoming data chunk, |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
170 may be a string or Buffer |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
171 depending on the <literal>buffer_type</literal> value, |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
172 by default is a string. |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
173 </tag-desc> |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
174 |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
175 <tag-name><literal>flags</literal></tag-name> |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
176 <tag-desc> |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
177 an object with the following properties: |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
178 <list type="tag"> |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
179 <tag-name><literal>last</literal></tag-name> |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
180 <tag-desc> |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
181 a boolean value, true if data is a last buffer. |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
182 </tag-desc> |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
183 |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
184 </list> |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
185 </tag-desc> |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
186 |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
187 </list> |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
188 </para> |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
189 |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
190 <para> |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
191 The filter function can pass its own modified version |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
192 of the input data chunk to the next body filter by calling |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
193 <link doc="../njs/reference.xml" id="r_sendbuffer"><literal>r.sendBuffer()</literal></link>. |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
194 For example, to transform all the lowercase letters in the response body: |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
195 <example> |
2675
893cd7724c8c
Documented the "r" argument for js_body_filter.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2664
diff
changeset
|
196 function filter(r, data, flags) { |
2664
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
197 r.sendBuffer(data.toLowerCase(), flags); |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
198 } |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
199 </example> |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
200 To stop filtering (following data chunks will be passed to client |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
201 without calling <literal>js_body_filter</literal>), |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
202 <link doc="../njs/reference.xml" id="r_done"><literal>r.done()</literal></link> |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
203 can be used. |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
204 </para> |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
205 |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
206 <para> |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
207 If the filter function changes the length of the response body, then |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
208 it is required to clear out the <header>Content-Length</header> response header |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
209 (if any) in |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
210 <link id="js_header_filter"><literal>js_header_filter</literal></link> |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
211 to enforce chunked transfer encoding. |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
212 </para> |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
213 |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
214 </directive> |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
215 |
9e39e64bff84
Documented the js_body_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2651
diff
changeset
|
216 |
1840
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
217 <directive name="js_content"> |
2530
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
218 <syntax><value>function</value> | <value>module.function</value></syntax> |
1840
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
219 <default/> |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
220 <context>location</context> |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
221 <context>limit_except</context> |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
222 |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
223 <para> |
2128
59a3cc84f507
Renamed nginScript to njs
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2026
diff
changeset
|
224 Sets an njs function as a location content handler. |
2530
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
225 Since <link doc="../njs/changes.xml" id="njs0.4.0">0.4.0</link>, |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
226 a module function can be referenced. |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
227 </para> |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
228 |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
229 </directive> |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
230 |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
231 |
2773
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
232 <directive name="js_fetch_ciphers"> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
233 <syntax><value>ciphers</value></syntax> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
234 <default>HIGH:!aNULL:!MD5</default> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
235 <context>http</context> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
236 <context>server</context> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
237 <context>location</context> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
238 <appeared-in>0.7.0</appeared-in> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
239 |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
240 <para> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
241 Specifies the enabled ciphers for HTTPS requests |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
242 with <link doc="../njs/reference.xml" id="ngx_fetch">Fetch API</link>. |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
243 The ciphers are specified in the format understood by the |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
244 OpenSSL library. |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
245 </para> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
246 |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
247 <para> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
248 The full list can be viewed using the |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
249 “<command>openssl ciphers</command>” command. |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
250 </para> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
251 |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
252 </directive> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
253 |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
254 |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
255 <directive name="js_fetch_protocols"> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
256 <syntax> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
257 [<literal>TLSv1</literal>] |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
258 [<literal>TLSv1.1</literal>] |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
259 [<literal>TLSv1.2</literal>] |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
260 [<literal>TLSv1.3</literal>]</syntax> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
261 <default>TLSv1 TLSv1.1 TLSv1.2</default> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
262 <context>http</context> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
263 <context>server</context> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
264 <context>location</context> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
265 <appeared-in>0.7.0</appeared-in> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
266 |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
267 <para> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
268 Enables the specified protocols for HTTPS requests |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
269 with <link doc="../njs/reference.xml" id="ngx_fetch">Fetch API</link>. |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
270 </para> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
271 |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
272 </directive> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
273 |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
274 |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
275 <directive name="js_fetch_trusted_certificate"> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
276 <syntax><value>file</value></syntax> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
277 <default/> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
278 <context>http</context> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
279 <context>server</context> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
280 <context>location</context> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
281 <appeared-in>0.7.0</appeared-in> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
282 |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
283 <para> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
284 Specifies a <value>file</value> with trusted CA certificates in the PEM format |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
285 used to |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
286 <link doc="../njs/reference.xml" id="fetch_verify">verify</link> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
287 the HTTPS certificate |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
288 with <link doc="../njs/reference.xml" id="ngx_fetch">Fetch API</link>. |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
289 </para> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
290 |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
291 </directive> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
292 |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
293 |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
294 <directive name="js_fetch_verify_depth"> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
295 <syntax><value>number</value></syntax> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
296 <default>100</default> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
297 <context>http</context> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
298 <context>server</context> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
299 <context>location</context> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
300 <appeared-in>0.7.0</appeared-in> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
301 |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
302 <para> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
303 Sets the verification depth in the HTTPS server certificates chain |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
304 with <link doc="../njs/reference.xml" id="ngx_fetch">Fetch API</link>. |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
305 </para> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
306 |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
307 </directive> |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
308 |
a2852750c379
Added fetch directives to js http and stream modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2747
diff
changeset
|
309 |
2651
b4991bbd64ee
Documented the js_header_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2534
diff
changeset
|
310 <directive name="js_header_filter"> |
b4991bbd64ee
Documented the js_header_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2534
diff
changeset
|
311 <syntax><value>function</value> | <value>module.function</value></syntax> |
b4991bbd64ee
Documented the js_header_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2534
diff
changeset
|
312 <default/> |
b4991bbd64ee
Documented the js_header_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2534
diff
changeset
|
313 <context>location</context> |
b4991bbd64ee
Documented the js_header_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2534
diff
changeset
|
314 <context>limit_except</context> |
b4991bbd64ee
Documented the js_header_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2534
diff
changeset
|
315 <appeared-in>0.5.1</appeared-in> |
b4991bbd64ee
Documented the js_header_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2534
diff
changeset
|
316 |
b4991bbd64ee
Documented the js_header_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2534
diff
changeset
|
317 <para> |
b4991bbd64ee
Documented the js_header_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2534
diff
changeset
|
318 Sets an njs function as a response header filter. |
b4991bbd64ee
Documented the js_header_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2534
diff
changeset
|
319 The directive allows changing arbitrary header fields of a response header. |
b4991bbd64ee
Documented the js_header_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2534
diff
changeset
|
320 </para> |
b4991bbd64ee
Documented the js_header_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2534
diff
changeset
|
321 |
b4991bbd64ee
Documented the js_header_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2534
diff
changeset
|
322 </directive> |
b4991bbd64ee
Documented the js_header_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2534
diff
changeset
|
323 |
b4991bbd64ee
Documented the js_header_filter directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2534
diff
changeset
|
324 |
2530
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
325 <directive name="js_import"> |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
326 <syntax><value>module.js</value> | |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
327 <value>export_name from module.js</value></syntax> |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
328 <default/> |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
329 <context>http</context> |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
330 <appeared-in>0.4.0</appeared-in> |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
331 |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
332 <para> |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
333 Imports a module that implements location and variable handlers in njs. |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
334 The <literal>export_name</literal> is used as a namespace |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
335 to access module functions. |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
336 If the <literal>export_name</literal> is not specified, |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
337 the module name will be used as a namespace. |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
338 <example> |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
339 js_import http.js; |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
340 </example> |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
341 Here, the module name <literal>http</literal> is used as a namespace |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
342 while accessing exports. |
2680
8751cab1d562
Corrected example description in js_import.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2675
diff
changeset
|
343 If the imported module exports <literal>foo()</literal>, |
2530
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
344 <literal>http.foo</literal> is used to refer to it. |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
345 </para> |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
346 |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
347 <para> |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
348 Several <literal>js_import</literal> directives can be specified. |
1840
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
349 </para> |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
350 |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
351 </directive> |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
352 |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
353 |
2142
ca7568f67dee
Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents:
2135
diff
changeset
|
354 <directive name="js_include"> |
ca7568f67dee
Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents:
2135
diff
changeset
|
355 <syntax><value>file</value></syntax> |
ca7568f67dee
Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents:
2135
diff
changeset
|
356 <default/> |
ca7568f67dee
Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents:
2135
diff
changeset
|
357 <context>http</context> |
ca7568f67dee
Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents:
2135
diff
changeset
|
358 |
ca7568f67dee
Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents:
2135
diff
changeset
|
359 <para> |
2530
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
360 Specifies a file that implements location and variable handlers in njs: |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
361 <example> |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
362 nginx.conf: |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
363 js_include http.js; |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
364 location /version { |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
365 js_content version; |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
366 } |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
367 |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
368 http.js: |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
369 function version(r) { |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
370 r.return(200, njs.version); |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
371 } |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
372 </example> |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
373 </para> |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
374 |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
375 <para> |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
376 The directive is deprecated since |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
377 <link doc="../njs/changes.xml" id="njs0.4.0">0.4.0</link>, |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
378 the <link id="js_import"/> directive should be used instead. |
2142
ca7568f67dee
Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents:
2135
diff
changeset
|
379 </para> |
ca7568f67dee
Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents:
2135
diff
changeset
|
380 |
ca7568f67dee
Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents:
2135
diff
changeset
|
381 </directive> |
ca7568f67dee
Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents:
2135
diff
changeset
|
382 |
ca7568f67dee
Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents:
2135
diff
changeset
|
383 |
2352
1101e24c6d14
Documented the js_path directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2246
diff
changeset
|
384 <directive name="js_path"> |
1101e24c6d14
Documented the js_path directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2246
diff
changeset
|
385 <syntax> |
1101e24c6d14
Documented the js_path directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2246
diff
changeset
|
386 <value>path</value></syntax> |
1101e24c6d14
Documented the js_path directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2246
diff
changeset
|
387 <default/> |
1101e24c6d14
Documented the js_path directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2246
diff
changeset
|
388 <context>http</context> |
1101e24c6d14
Documented the js_path directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2246
diff
changeset
|
389 <appeared-in>0.3.0</appeared-in> |
1101e24c6d14
Documented the js_path directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2246
diff
changeset
|
390 |
1101e24c6d14
Documented the js_path directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2246
diff
changeset
|
391 <para> |
1101e24c6d14
Documented the js_path directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2246
diff
changeset
|
392 Sets an additional path for njs modules. |
1101e24c6d14
Documented the js_path directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2246
diff
changeset
|
393 </para> |
1101e24c6d14
Documented the js_path directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2246
diff
changeset
|
394 |
1101e24c6d14
Documented the js_path directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2246
diff
changeset
|
395 </directive> |
1101e24c6d14
Documented the js_path directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2246
diff
changeset
|
396 |
1101e24c6d14
Documented the js_path directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2246
diff
changeset
|
397 |
1840
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
398 <directive name="js_set"> |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
399 <syntax> |
2530
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
400 <value>$variable</value> <value>function</value> | |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
401 <value>module.function</value></syntax> |
1840
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
402 <default/> |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
403 <context>http</context> |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
404 |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
405 <para> |
2686
45214e5316cd
Improved description of js_set.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2680
diff
changeset
|
406 Sets an njs <literal>function</literal> |
45214e5316cd
Improved description of js_set.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2680
diff
changeset
|
407 for the specified <literal>variable</literal>. |
2530
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
408 Since <link doc="../njs/changes.xml" id="njs0.4.0">0.4.0</link>, |
407c5bd5bffc
Documented the js_import directive and corresponding changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2352
diff
changeset
|
409 a module function can be referenced. |
1840
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
410 </para> |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
411 |
2686
45214e5316cd
Improved description of js_set.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2680
diff
changeset
|
412 <para> |
45214e5316cd
Improved description of js_set.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2680
diff
changeset
|
413 The function is called when |
45214e5316cd
Improved description of js_set.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2680
diff
changeset
|
414 the variable is referenced for the first time for a given request. |
45214e5316cd
Improved description of js_set.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2680
diff
changeset
|
415 The exact moment depends on a |
45214e5316cd
Improved description of js_set.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2680
diff
changeset
|
416 <link doc="../dev/development_guide.xml" id="http_phases">phase</link> |
45214e5316cd
Improved description of js_set.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2680
diff
changeset
|
417 at which the variable is referenced. |
45214e5316cd
Improved description of js_set.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2680
diff
changeset
|
418 This can be used to perform some logic |
45214e5316cd
Improved description of js_set.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2680
diff
changeset
|
419 not related to variable evaluation. |
45214e5316cd
Improved description of js_set.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2680
diff
changeset
|
420 For example, if the variable is referenced only in the |
45214e5316cd
Improved description of js_set.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2680
diff
changeset
|
421 <link doc="ngx_http_log_module.xml" id="log_format"/> directive, |
45214e5316cd
Improved description of js_set.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2680
diff
changeset
|
422 its handler will not be executed until the log phase. |
45214e5316cd
Improved description of js_set.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2680
diff
changeset
|
423 This handler can be used to do some cleanup |
45214e5316cd
Improved description of js_set.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2680
diff
changeset
|
424 right before the request is freed. |
45214e5316cd
Improved description of js_set.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2680
diff
changeset
|
425 </para> |
45214e5316cd
Improved description of js_set.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2680
diff
changeset
|
426 |
2747
42fb92e582db
Added note to js_set about asyncronous calls.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2693
diff
changeset
|
427 <para> |
42fb92e582db
Added note to js_set about asyncronous calls.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2693
diff
changeset
|
428 <note> |
42fb92e582db
Added note to js_set about asyncronous calls.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2693
diff
changeset
|
429 As the <literal>js_set</literal> handler |
42fb92e582db
Added note to js_set about asyncronous calls.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2693
diff
changeset
|
430 returns its result immediately, it supports |
42fb92e582db
Added note to js_set about asyncronous calls.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2693
diff
changeset
|
431 only synchronous callbacks. |
42fb92e582db
Added note to js_set about asyncronous calls.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2693
diff
changeset
|
432 Thus, asynchronous callbacks such as |
42fb92e582db
Added note to js_set about asyncronous calls.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2693
diff
changeset
|
433 <link doc="../njs/reference.xml" id="r_subrequest">r.subrequest()</link> |
42fb92e582db
Added note to js_set about asyncronous calls.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2693
diff
changeset
|
434 or |
42fb92e582db
Added note to js_set about asyncronous calls.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2693
diff
changeset
|
435 <link doc="../njs/reference.xml" id="settimeout">setTimeout()</link> |
42fb92e582db
Added note to js_set about asyncronous calls.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2693
diff
changeset
|
436 are not supported. |
42fb92e582db
Added note to js_set about asyncronous calls.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2693
diff
changeset
|
437 </note> |
42fb92e582db
Added note to js_set about asyncronous calls.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2693
diff
changeset
|
438 </para> |
42fb92e582db
Added note to js_set about asyncronous calls.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2693
diff
changeset
|
439 |
1840
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
440 </directive> |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
441 |
2693
3cbd6e440581
Documented the js_var directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2686
diff
changeset
|
442 |
3cbd6e440581
Documented the js_var directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2686
diff
changeset
|
443 <directive name="js_var"> |
3cbd6e440581
Documented the js_var directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2686
diff
changeset
|
444 <syntax><value>$variable</value> [<value>value</value>]</syntax> |
3cbd6e440581
Documented the js_var directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2686
diff
changeset
|
445 <default/> |
3cbd6e440581
Documented the js_var directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2686
diff
changeset
|
446 <context>http</context> |
3cbd6e440581
Documented the js_var directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2686
diff
changeset
|
447 <appeared-in>0.5.3</appeared-in> |
3cbd6e440581
Documented the js_var directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2686
diff
changeset
|
448 |
3cbd6e440581
Documented the js_var directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2686
diff
changeset
|
449 <para> |
3cbd6e440581
Documented the js_var directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2686
diff
changeset
|
450 Declares |
3cbd6e440581
Documented the js_var directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2686
diff
changeset
|
451 a <link doc="../njs/reference.xml" id="r_variables">writable</link> |
3cbd6e440581
Documented the js_var directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2686
diff
changeset
|
452 variable. |
3cbd6e440581
Documented the js_var directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2686
diff
changeset
|
453 The value can contain text, variables, and their combination. |
3cbd6e440581
Documented the js_var directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2686
diff
changeset
|
454 The variable is not overwritten after a redirect |
3cbd6e440581
Documented the js_var directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2686
diff
changeset
|
455 unlike variables created with the |
3cbd6e440581
Documented the js_var directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2686
diff
changeset
|
456 <link doc="ngx_http_rewrite_module.xml" id="set"/> directive. |
3cbd6e440581
Documented the js_var directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2686
diff
changeset
|
457 </para> |
3cbd6e440581
Documented the js_var directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2686
diff
changeset
|
458 |
3cbd6e440581
Documented the js_var directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2686
diff
changeset
|
459 </directive> |
3cbd6e440581
Documented the js_var directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2686
diff
changeset
|
460 |
1840
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
461 </section> |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
462 |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
463 |
2187
ed905ab118c7
Updated HTTP njs module according to njs 0.2.2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2175
diff
changeset
|
464 <section id="arguments" name="Request Argument"> |
2149
6df1a86a60b8
Added new njs HTTP properties and methods.
Roman Arutyunyan <arut@nginx.com>
parents:
2142
diff
changeset
|
465 |
6df1a86a60b8
Added new njs HTTP properties and methods.
Roman Arutyunyan <arut@nginx.com>
parents:
2142
diff
changeset
|
466 <para> |
2187
ed905ab118c7
Updated HTTP njs module according to njs 0.2.2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2175
diff
changeset
|
467 Each HTTP njs handler receives one argument, a request |
2246
32ba43abf9cd
Renamed njs API, njs Changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2245
diff
changeset
|
468 <link doc="../njs/reference.xml" id="http">object</link>. |
1840
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
469 </para> |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
470 |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
471 </section> |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
472 |
15632fc2d548
Documented http and stream nginScript modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
473 </module> |