Mercurial > hg > nginx-site
comparison xml/ru/docs/stream/ngx_stream_js_module.xml @ 2878:fd8ec06ceafa
Improved descriptions of js_access, js_filter, js_preread.
author | Yaroslav Zhuravlev <yar@nginx.com> |
---|---|
date | Mon, 08 Aug 2022 16:29:42 +0100 |
parents | a3aee2697d4e |
children | 986e1f930e3b |
comparison
equal
deleted
inserted
replaced
2877:0280b6c71d38 | 2878:fd8ec06ceafa |
---|---|
7 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd"> | 7 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd"> |
8 | 8 |
9 <module name="Модуль ngx_stream_js_module" | 9 <module name="Модуль ngx_stream_js_module" |
10 link="/ru/docs/stream/ngx_stream_js_module.html" | 10 link="/ru/docs/stream/ngx_stream_js_module.html" |
11 lang="ru" | 11 lang="ru" |
12 rev="31"> | 12 rev="32"> |
13 | 13 |
14 <section id="summary"> | 14 <section id="summary"> |
15 | 15 |
16 <para> | 16 <para> |
17 Модуль <literal>ngx_stream_js_module</literal> позволяет задавать | 17 Модуль <literal>ngx_stream_js_module</literal> позволяет задавать |
140 <link doc="stream_processing.xml" id="access_phase">access</link>-фазе. | 140 <link doc="stream_processing.xml" id="access_phase">access</link>-фазе. |
141 Начиная с <link doc="../njs/changes.xml" id="njs0.4.0">0.4.0</link> | 141 Начиная с <link doc="../njs/changes.xml" id="njs0.4.0">0.4.0</link> |
142 можно ссылаться на функцию модуля. | 142 можно ссылаться на функцию модуля. |
143 </para> | 143 </para> |
144 | 144 |
145 <para> | |
146 Функция вызывается однократно при первом достижении сессией | |
147 <link doc="stream_processing.xml" id="access_phase">access</link>-фазы. | |
148 Функция вызывается со следующими аргументами: | |
149 | |
150 <list type="tag"> | |
151 <tag-name><literal>s</literal></tag-name> | |
152 <tag-desc> | |
153 объект <link doc="../njs/reference.xml" id="stream">stream-сессии</link> | |
154 </tag-desc> | |
155 | |
156 </list> | |
157 </para> | |
158 | |
159 <para> | |
160 В этой фазе может происходить инициализация, | |
161 также при помощи метода | |
162 <link doc="../njs/reference.xml" id="s_on"><literal>s.on()</literal></link> | |
163 может регистрироваться вызов | |
164 для каждого входящего блока данных пока не будет вызван один из методов: | |
165 <link doc="../njs/reference.xml" id="s_done"><literal>s.done()</literal></link> | |
166 <link doc="../njs/reference.xml" id="s_decline"><literal>s.decline()</literal></link>, | |
167 <link doc="../njs/reference.xml" id="s_allow"><literal>s.allow()</literal></link>. | |
168 При вызове любого из этих методов обработка сессии | |
169 переходит на <link doc="stream_processing.xml">следующую фазу</link> | |
170 и все текущие вызовы | |
171 <link doc="../njs/reference.xml" id="s_on"><literal>s.on()</literal></link> | |
172 сбрасываются. | |
173 </para> | |
174 | |
175 <para> | |
176 <note> | |
177 Так как обработчик <literal>js_access</literal> | |
178 должен сразу возвращать результат, | |
179 то поддерживаются только синхронные операции. | |
180 Таким образом, асинхронные операции, например | |
181 <link doc="../njs/reference.xml" id="ngx_fetch"><literal>ngx.fetch()</literal></link> | |
182 или | |
183 <link doc="../njs/reference.xml" id="settimeout"><literal>setTimeout()</literal></link>, | |
184 не поддерживаются. | |
185 </note> | |
186 </para> | |
187 | |
145 </directive> | 188 </directive> |
146 | 189 |
147 | 190 |
148 <directive name="js_fetch_buffer_size"> | 191 <directive name="js_fetch_buffer_size"> |
149 <syntax><value>размер</value></syntax> | 192 <syntax><value>размер</value></syntax> |
290 | 333 |
291 <para> | 334 <para> |
292 Задаёт фильтр данных. | 335 Задаёт фильтр данных. |
293 Начиная с <link doc="../njs/changes.xml" id="njs0.4.0">0.4.0</link> | 336 Начиная с <link doc="../njs/changes.xml" id="njs0.4.0">0.4.0</link> |
294 можно ссылаться на функцию модуля. | 337 можно ссылаться на функцию модуля. |
338 Функция фильтра вызывается однократно при первом достижении сессией | |
339 <link doc="stream_processing.xml" id="content_phase">content</link>-фазы. | |
340 </para> | |
341 | |
342 <para> | |
343 Функция фильтра вызывается со следующими аргументами: | |
344 <list type="tag"> | |
345 <tag-name><literal>s</literal></tag-name> | |
346 <tag-desc> | |
347 объект <link doc="../njs/reference.xml" id="stream">stream-сессии</link> | |
348 </tag-desc> | |
349 | |
350 </list> | |
351 </para> | |
352 | |
353 <para> | |
354 В этой фазе может происходить инициализация, | |
355 также при помощи метода | |
356 <link doc="../njs/reference.xml" id="s_on"><literal>s.on()</literal></link> | |
357 может регистрироваться вызов | |
358 для каждого входящего блока данных. | |
359 Для отмены регистрации вызова и отмены фильтра | |
360 можно использовать метод | |
361 <link doc="../njs/reference.xml" id="s_off"><literal>s.off()</literal></link>. | |
362 </para> | |
363 | |
364 <para> | |
365 <note> | |
366 Так как обработчик <literal>js_filter</literal> | |
367 должен сразу возвращать результат, | |
368 то поддерживаются только синхронные операции. | |
369 Таким образом, асинхронные операции, например | |
370 <link doc="../njs/reference.xml" id="ngx_fetch"><literal>ngx.fetch()</literal></link> | |
371 или | |
372 <link doc="../njs/reference.xml" id="settimeout"><literal>setTimeout()</literal></link>, | |
373 не поддерживаются. | |
374 </note> | |
295 </para> | 375 </para> |
296 | 376 |
297 </directive> | 377 </directive> |
298 | 378 |
299 | 379 |
372 <link doc="stream_processing.xml" id="preread_phase">preread</link>-фазе. | 452 <link doc="stream_processing.xml" id="preread_phase">preread</link>-фазе. |
373 Начиная с <link doc="../njs/changes.xml" id="njs0.4.0">0.4.0</link> | 453 Начиная с <link doc="../njs/changes.xml" id="njs0.4.0">0.4.0</link> |
374 можно ссылаться на функцию модуля. | 454 можно ссылаться на функцию модуля. |
375 </para> | 455 </para> |
376 | 456 |
457 <para> | |
458 Функция вызывается однократно при первом достижении сессией | |
459 <link doc="stream_processing.xml" id="preread_phase">preread</link>-фазы. | |
460 Функция вызывается со следующими аргументами: | |
461 | |
462 <list type="tag"> | |
463 <tag-name><literal>s</literal></tag-name> | |
464 <tag-desc> | |
465 объект <link doc="../njs/reference.xml" id="stream">stream-сессии</link> | |
466 </tag-desc> | |
467 | |
468 </list> | |
469 </para> | |
470 | |
471 <para> | |
472 В этой фазе может происходить инициализация, | |
473 также при помощи метода | |
474 <link doc="../njs/reference.xml" id="s_on"><literal>s.on()</literal></link> | |
475 может регистрироваться вызов | |
476 для каждого входящего блока данных пока не будет вызван один из методов: | |
477 <link doc="../njs/reference.xml" id="s_done"><literal>s.done()</literal></link> | |
478 <link doc="../njs/reference.xml" id="s_decline"><literal>s.decline()</literal></link>, | |
479 <link doc="../njs/reference.xml" id="s_allow"><literal>s.allow()</literal></link>. | |
480 При вызове любого из этих методов обработка сессии | |
481 переходит на <link doc="stream_processing.xml">следующую фазу</link> | |
482 и все текущие вызовы | |
483 <link doc="../njs/reference.xml" id="s_on"><literal>s.on()</literal></link> | |
484 сбрасываются. | |
485 </para> | |
486 | |
487 <para> | |
488 <note> | |
489 Так как обработчик <literal>js_preread</literal> | |
490 должен сразу возвращать результат, | |
491 то поддерживаются только синхронные операции. | |
492 Таким образом, асинхронные операции, например | |
493 <link doc="../njs/reference.xml" id="ngx_fetch"><literal>ngx.fetch()</literal></link> | |
494 или | |
495 <link doc="../njs/reference.xml" id="settimeout"><literal>setTimeout()</literal></link>, | |
496 не поддерживаются. | |
497 Тем не менее асинхронные операции поддерживаются в вызовах | |
498 <link doc="../njs/reference.xml" id="s_on"><literal>s.on()</literal></link> | |
499 в | |
500 <link doc="stream_processing.xml" id="preread_phase">preread</link>-фазе. | |
501 Подробнее см. | |
502 <link url="https://github.com/nginx/njs-examples#authorizing-connections-using-ngx-fetch-as-auth-request-stream-auth-request">пример</link>. | |
503 </note> | |
504 </para> | |
505 | |
377 </directive> | 506 </directive> |
378 | 507 |
379 | 508 |
380 <directive name="js_path"> | 509 <directive name="js_path"> |
381 <syntax> | 510 <syntax> |
422 | 551 |
423 <para> | 552 <para> |
424 <note> | 553 <note> |
425 Так как обработчик <literal>js_set</literal> | 554 Так как обработчик <literal>js_set</literal> |
426 должен сразу возвращать результат, | 555 должен сразу возвращать результат, |
427 то поддерживаются только синхронные вызовы. | 556 то поддерживаются только синхронные операции. |
428 Таким образом, асинхронные вызовы, например | 557 Таким образом, асинхронные операции, например |
429 <link doc="../njs/reference.xml" id="ngx_fetch">ngx.fetch()</link> | 558 <link doc="../njs/reference.xml" id="ngx_fetch"><literal>ngx.fetch()</literal></link> |
430 или | 559 или |
431 <link doc="../njs/reference.xml" id="settimeout">setTimeout()</link>, | 560 <link doc="../njs/reference.xml" id="settimeout"><literal>setTimeout()</literal></link>, |
432 не поддерживаются. | 561 не поддерживаются. |
433 </note> | 562 </note> |
434 </para> | 563 </para> |
435 | 564 |
436 </directive> | 565 </directive> |