Mercurial > hg > nginx-site
comparison xml/ru/docs/http/ngx_http_js_module.xml @ 2664:9e39e64bff84
Documented the js_body_filter directive.
author | Yaroslav Zhuravlev <yar@nginx.com> |
---|---|
date | Thu, 04 Mar 2021 14:34:52 +0000 |
parents | b4991bbd64ee |
children | 893cd7724c8c |
comparison
equal
deleted
inserted
replaced
2663:a33d8f0f48b2 | 2664:9e39e64bff84 |
---|---|
7 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd"> | 7 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd"> |
8 | 8 |
9 <module name="Модуль ngx_http_js_module" | 9 <module name="Модуль ngx_http_js_module" |
10 link="/ru/docs/http/ngx_http_js_module.html" | 10 link="/ru/docs/http/ngx_http_js_module.html" |
11 lang="ru" | 11 lang="ru" |
12 rev="23"> | 12 rev="24"> |
13 | 13 |
14 <section id="summary"> | 14 <section id="summary"> |
15 | 15 |
16 <para> | 16 <para> |
17 Модуль <literal>ngx_http_js_module</literal> позволяет задавать | 17 Модуль <literal>ngx_http_js_module</literal> позволяет задавать |
116 </section> | 116 </section> |
117 | 117 |
118 | 118 |
119 <section id="directives" name="Директивы"> | 119 <section id="directives" name="Директивы"> |
120 | 120 |
121 <directive name="js_body_filter"> | |
122 <syntax><value>функция</value> | <value>модуль.функция</value> | |
123 [<value>buffer_type</value>=<value>строка</value> | <value>буфер</value>]</syntax> | |
124 <default/> | |
125 <context>location</context> | |
126 <context>limit_except</context> | |
127 <appeared-in>0.5.2</appeared-in> | |
128 | |
129 <para> | |
130 Задаёт функцию njs в качестве фильтра тела ответа. | |
131 Функция фильтра вызывается для каждого блока данных тела ответа | |
132 со следующими аргументами: | |
133 | |
134 <list type="tag"> | |
135 <tag-name><literal>data</literal></tag-name> | |
136 <tag-desc> | |
137 входящий блок данных | |
138 может быть строкой или буфером | |
139 в зависимости от значения <literal>buffer_type</literal>, | |
140 по умолчанию является строкой. | |
141 </tag-desc> | |
142 | |
143 <tag-name><literal>flags</literal></tag-name> | |
144 <tag-desc> | |
145 объект со следующими свойствами: | |
146 <list type="tag"> | |
147 <tag-name><literal>last</literal></tag-name> | |
148 <tag-desc> | |
149 логическое значение, true, если данные являются последним буфером. | |
150 </tag-desc> | |
151 | |
152 </list> | |
153 </tag-desc> | |
154 | |
155 </list> | |
156 </para> | |
157 | |
158 <para> | |
159 Функция фильтра может передавать свою модифицированную версию | |
160 входящего блока данных следующему фильтру тела ответа при помощи вызова | |
161 <link doc="../njs/reference.xml" id="r_sendbuffer"><literal>r.sendBuffer()</literal></link>. | |
162 Пример преобразования букв в нижний регистр в теле ответа: | |
163 <example> | |
164 function filter(data, flags) { | |
165 r.sendBuffer(data.toLowerCase(), flags); | |
166 } | |
167 </example> | |
168 Для отмены фильтра (блоки данных будут передаваться клиенту | |
169 без вызова <literal>js_body_filter</literal>), | |
170 можно использовать | |
171 <link doc="../njs/reference.xml" id="r_done"><literal>r.done()</literal></link>. | |
172 </para> | |
173 | |
174 <para> | |
175 Если функция фильтра изменяет длину тела ответа, то | |
176 необходимо очистить заголовок ответа <header>Content-Length</header> | |
177 (если присутствует) в | |
178 <link id="js_header_filter"><literal>js_header_filter</literal></link>, | |
179 чтобы применить поблочное кодирование. | |
180 </para> | |
181 | |
182 </directive> | |
183 | |
184 | |
121 <directive name="js_content"> | 185 <directive name="js_content"> |
122 <syntax><value>функция</value> | <value>модуль.функция</value></syntax> | 186 <syntax><value>функция</value> | <value>модуль.функция</value></syntax> |
123 <default/> | 187 <default/> |
124 <context>location</context> | 188 <context>location</context> |
125 <context>limit_except</context> | 189 <context>limit_except</context> |