Mercurial > hg > nginx-site
comparison xml/ru/docs/njs/njs_api.xml @ 2175:cd4889fdcfa4
Moved njs HTTP and Stream API to a separate page.
author | Yaroslav Zhuravlev <yar@nginx.com> |
---|---|
date | Tue, 05 Jun 2018 18:22:00 +0300 |
parents | |
children | 7865ca0da0ab |
comparison
equal
deleted
inserted
replaced
2174:3b782a679237 | 2175:cd4889fdcfa4 |
---|---|
1 <?xml version="1.0"?> | |
2 | |
3 <!-- | |
4 Copyright (C) Nginx, Inc. | |
5 --> | |
6 | |
7 <!DOCTYPE article SYSTEM "../../../../dtd/article.dtd"> | |
8 | |
9 <article name="njs API" | |
10 link="/ru/docs/njs/njs_api.html" | |
11 lang="ru" | |
12 rev="1"> | |
13 | |
14 <section id="summary"> | |
15 | |
16 <para> | |
17 <link doc="../njs_about.xml">njs</link> предоставляет объекты, методы и свойства | |
18 для расширения функциональности nginx. | |
19 </para> | |
20 | |
21 </section> | |
22 | |
23 | |
24 <section id="http" name="HTTP"> | |
25 | |
26 <para> | |
27 Объекты <literal>HTTP</literal> доступны только в | |
28 модуле <link doc="../http/ngx_http_js_module.xml">ngx_http_js_module</link>. | |
29 </para> | |
30 | |
31 | |
32 <section id="http_request" name="Запрос"> | |
33 | |
34 <para> | |
35 <list type="tag"> | |
36 | |
37 <tag-name><literal>req.uri</literal></tag-name> | |
38 <tag-desc> | |
39 текущий URI запроса, только чтение | |
40 </tag-desc> | |
41 | |
42 <tag-name><literal>req.method</literal></tag-name> | |
43 <tag-desc> | |
44 метод запроса, только чтение | |
45 </tag-desc> | |
46 | |
47 <tag-name><literal>req.httpVersion</literal></tag-name> | |
48 <tag-desc> | |
49 версия HTTP, только чтение | |
50 </tag-desc> | |
51 | |
52 <tag-name><literal>req.remoteAddress</literal></tag-name> | |
53 <tag-desc> | |
54 адрес клиента, только чтение | |
55 </tag-desc> | |
56 | |
57 <tag-name><literal>req.headers{}</literal></tag-name> | |
58 <tag-desc> | |
59 объект заголовков запроса, только чтение. | |
60 <para> | |
61 Например, доступ к заголовку <literal>Header-Name</literal> | |
62 можно получить при помощи синтаксиса <literal>headers['Header-Name']</literal> | |
63 или <literal>headers.Header_name</literal> | |
64 </para> | |
65 </tag-desc> | |
66 | |
67 <tag-name><literal>req.args{}</literal></tag-name> | |
68 <tag-desc> | |
69 объект аргументов запроса, только чтение | |
70 </tag-desc> | |
71 | |
72 <tag-name><literal>req.variables{}</literal></tag-name> | |
73 <tag-desc> | |
74 объект переменных nginx, только чтение | |
75 </tag-desc> | |
76 | |
77 <tag-name><literal>req.response</literal></tag-name> | |
78 <tag-desc> | |
79 объект <link id="http_response_object">ответа</link> (0.2.0), только чтение | |
80 </tag-desc> | |
81 | |
82 <tag-name><literal>req.log(<value>строка</value>)</literal></tag-name> | |
83 <tag-desc> | |
84 записывает <literal>строку</literal> в лог-файл ошибок | |
85 на уровне лога <literal>info</literal> | |
86 </tag-desc> | |
87 | |
88 <tag-name><literal>req.warn(<value>строка</value>)</literal></tag-name> | |
89 <tag-desc> | |
90 записывает <literal>строку</literal> в лог-файл ошибок | |
91 на уровне лога <literal>warning</literal> (0.2.0) | |
92 </tag-desc> | |
93 | |
94 <tag-name><literal>req.error(<value>строка</value>)</literal></tag-name> | |
95 <tag-desc> | |
96 записывает <literal>строку</literal> в лог-файл ошибок | |
97 на уровне лога <literal>error</literal> (0.2.0) | |
98 </tag-desc> | |
99 | |
100 <tag-name id="subrequest"><literal>req.subrequest(<value>uri</value>[, | |
101 <value>options</value>[, <value>callback</value>]])</literal></tag-name> | |
102 <tag-desc> | |
103 создаёт подзапрос с заданными <literal>uri</literal> и | |
104 <literal>options</literal> и | |
105 устанавливает необязательный <literal>callback</literal> завершения (0.2.0). | |
106 | |
107 <para> | |
108 Если <literal>options</literal> является строкой, то в ней | |
109 содержится срока аргументов подзапроса. | |
110 В противном случае ожидается, что <literal>options</literal> является объектом | |
111 со следующими ключами: | |
112 <list type="tag"> | |
113 <tag-name><literal>args</literal></tag-name> | |
114 <tag-desc> | |
115 строка с аргументами | |
116 </tag-desc> | |
117 | |
118 <tag-name><literal>body</literal></tag-name> | |
119 <tag-desc> | |
120 тело запроса | |
121 </tag-desc> | |
122 | |
123 <tag-name><literal>method</literal></tag-name> | |
124 <tag-desc | |
125 >метод HTTP | |
126 </tag-desc> | |
127 | |
128 </list> | |
129 </para> | |
130 | |
131 <para> | |
132 <literal>callback</literal> | |
133 получает объект <link id="http_reply">reply</link>. | |
134 </para> | |
135 </tag-desc> | |
136 | |
137 </list> | |
138 </para> | |
139 | |
140 </section> | |
141 | |
142 | |
143 <section id="http_response" name="Ответ"> | |
144 | |
145 <para> | |
146 <list type="tag"> | |
147 | |
148 <tag-name><literal>res.status</literal></tag-name> | |
149 <tag-desc> | |
150 статус ответа, доступно для записи | |
151 </tag-desc> | |
152 | |
153 <tag-name><literal>res.headers{}</literal></tag-name> | |
154 <tag-desc> | |
155 объект заголовков ответа | |
156 </tag-desc> | |
157 | |
158 <tag-name><literal>res.contentType</literal></tag-name> | |
159 <tag-desc> | |
160 значение поля <header>Content-Type</header> заголовка ответа, | |
161 доступно для записи | |
162 </tag-desc> | |
163 | |
164 <tag-name><literal>res.contentLength</literal></tag-name> | |
165 <tag-desc> | |
166 значение поля <header>Content-Length</header> заголовка ответа, | |
167 доступно для записи | |
168 </tag-desc> | |
169 | |
170 <tag-name><literal>res.sendHeader()</literal></tag-name> | |
171 <tag-desc> | |
172 отправляет заголовок HTTP клиенту | |
173 </tag-desc> | |
174 | |
175 <tag-name><literal>res.send(<value>строка</value>)</literal></tag-name> | |
176 <tag-desc> | |
177 отправляет часть тела ответа клиенту | |
178 </tag-desc> | |
179 | |
180 <tag-name><literal>res.finish()</literal></tag-name> | |
181 <tag-desc> | |
182 завершает отправку ответа клиенту | |
183 </tag-desc> | |
184 | |
185 <tag-name><literal>res.return(код[, строка])</literal></tag-name> | |
186 <tag-desc> | |
187 отправляет | |
188 клиенту полный ответ с указанным <literal>кодом</literal> (0.2.0) | |
189 <para> | |
190 Можно задать или URL перенаправления | |
191 (для кодов 301, 302, 303, 307 и 308), | |
192 или текст тела ответа (для остальных кодов) в качестве второго аргумента | |
193 </para> | |
194 </tag-desc> | |
195 | |
196 </list> | |
197 </para> | |
198 | |
199 </section> | |
200 | |
201 | |
202 <section id="http_reply" name="Reply"> | |
203 | |
204 <para> | |
205 <list type="tag"> | |
206 | |
207 <tag-name><literal>reply.uri</literal></tag-name> | |
208 <tag-desc> | |
209 текущий URI, только чтение | |
210 </tag-desc> | |
211 | |
212 <tag-name><literal>reply.method</literal></tag-name> | |
213 <tag-desc> | |
214 метод, только чтение | |
215 </tag-desc> | |
216 | |
217 <tag-name><literal>reply.status</literal></tag-name> | |
218 <tag-desc> | |
219 статус, доступно для записи | |
220 </tag-desc> | |
221 | |
222 <tag-name><literal>reply.contentType</literal></tag-name> | |
223 <tag-desc> | |
224 значение поля <header>Content-Type</header> заголовка, | |
225 доступно для записи | |
226 </tag-desc> | |
227 | |
228 <tag-name><literal>reply.contentLength</literal></tag-name> | |
229 <tag-desc> | |
230 значение поля <header>Content-Length</header> заголовка, | |
231 доступно для записи | |
232 </tag-desc> | |
233 | |
234 <tag-name><literal>reply.headers{}</literal></tag-name> | |
235 <tag-desc> | |
236 объект заголовков ответа, только чтение | |
237 </tag-desc> | |
238 | |
239 </list> | |
240 </para> | |
241 | |
242 <para> | |
243 Кроме того, у объект <literal>reply</literal> имеет | |
244 следующие свойства: | |
245 | |
246 <list type="tag"> | |
247 | |
248 <tag-name><literal>reply.body</literal></tag-name> | |
249 <tag-desc> | |
250 хранит тело ответа подзапроса | |
251 </tag-desc> | |
252 | |
253 <tag-name><literal>reply.parent</literal></tag-name> | |
254 <tag-desc> | |
255 ссылается на родительский объект запроса | |
256 </tag-desc> | |
257 | |
258 </list> | |
259 </para> | |
260 | |
261 </section> | |
262 | |
263 </section> | |
264 | |
265 | |
266 <section id="stream" name="Stream"> | |
267 | |
268 <para> | |
269 Объекты <literal>stream</literal> доступны только в | |
270 модуле | |
271 <link doc="../stream/ngx_stream_js_module.xml">ngx_stream_js_module</link>. | |
272 </para> | |
273 | |
274 | |
275 <section id="stream_session" name="Сессия"> | |
276 | |
277 <para> | |
278 <list type="tag"> | |
279 | |
280 <tag-name><literal>s.remoteAddress</literal></tag-name> | |
281 <tag-desc> | |
282 адрес клиента, только чтение | |
283 </tag-desc> | |
284 | |
285 <tag-name><literal>s.eof</literal></tag-name> | |
286 <tag-desc> | |
287 логическое свойство, | |
288 true, если текущий буфер является последним буфером, | |
289 только чтение | |
290 </tag-desc> | |
291 | |
292 <tag-name><literal>s.fromUpstream</literal></tag-name> | |
293 <tag-desc> | |
294 логическое свойство, | |
295 true, если текущий буфер является буфером от проксируемого сервера к клиенту, | |
296 только чтение | |
297 </tag-desc> | |
298 | |
299 <tag-name><literal>s.buffer</literal></tag-name> | |
300 <tag-desc> | |
301 текущий буфер, доступен для записи | |
302 </tag-desc> | |
303 | |
304 <tag-name><literal>s.variables{}</literal></tag-name> | |
305 <tag-desc> | |
306 объект переменных nginx, только чтение | |
307 </tag-desc> | |
308 | |
309 <tag-name><literal>s.OK</literal></tag-name> | |
310 <tag-desc> | |
311 код <literal>OK</literal> | |
312 </tag-desc> | |
313 | |
314 <tag-name><literal>s.DECLINED</literal></tag-name> | |
315 <tag-desc> | |
316 код <literal>DECLINED</literal> | |
317 </tag-desc> | |
318 | |
319 <tag-name><literal>s.AGAIN</literal></tag-name> | |
320 <tag-desc> | |
321 код <literal>AGAIN</literal> | |
322 </tag-desc> | |
323 | |
324 <tag-name><literal>s.ERROR</literal></tag-name> | |
325 <tag-desc> | |
326 код <literal>ERROR</literal> | |
327 </tag-desc> | |
328 | |
329 <tag-name><literal>s.ABORT</literal></tag-name> | |
330 <tag-desc> | |
331 код <literal>ABORT</literal> | |
332 </tag-desc> | |
333 | |
334 <tag-name><literal>s.log(<value>строка</value>)</literal></tag-name> | |
335 <tag-desc> | |
336 записывает отправленную <value>строку</value> в лог-файл ошибок | |
337 на уровне лога <literal>info</literal> | |
338 </tag-desc> | |
339 | |
340 <tag-name><literal>s.warn(<value>строка</value>)</literal></tag-name> | |
341 <tag-desc> | |
342 записывает отправленную <literal>строку</literal> в лог-файл ошибок | |
343 на уровне лога <literal>warning</literal> (0.2.0) | |
344 </tag-desc> | |
345 | |
346 <tag-name><literal>s.error(<value>строка</value>)</literal></tag-name> | |
347 <tag-desc> | |
348 записывает отправленную <literal>строку</literal> в лог-файл ошибок | |
349 на уровне лога <literal>error</literal> (0.2.0) | |
350 </tag-desc> | |
351 | |
352 </list> | |
353 </para> | |
354 | |
355 </section> | |
356 | |
357 </section> | |
358 | |
359 | |
360 </article> | |
361 |