On Thu, Jun 07, 2007 at 01:10:15PM +0400, Denis Erygin wrote:
> Прописал HTTP_AUX_FILTER_MODULES.
>
> Есть вопрос насчет буферов:
>
> static ngx_int_t ngx_http_my_body_filter ( ngx_http_request_t* r,
> ngx_chain_t* in )
>
> Если смотреть in->buf, то pos = last = start = end = NULL,
> но инициализирован file и in_file = 1, тогда как в ngx_http_chunked_module
> можно прочитать буфер сразу из pos. Поскольку основа фильтра взята от
> chunked
> модуля, то предполагаю, что это зависит от порядка модулей в цепочке?
Нет, chunked берёт размер буфера из ngx_buf_size(cl->buf). Там используется
file_pos, если in_file = 1.
Вставлять свой модуль нужно примерно там, куда его вставляет AUX.
На уровне chunked после gzip'а делать нечего.
> &ngx_http_write_filter_module,
> &ngx_http_header_filter_module,
> &ngx_http_chunked_filter_module, <=
> &ngx_http_range_header_filter_module,
> &ngx_http_gzip_filter_module,
> &ngx_http_postpone_filter_module,
> &ngx_http_charset_filter_module,
> &ngx_http_ssi_filter_module,
> &ngx_http_userid_filter_module,
> &ngx_http_headers_filter_module,
> &ngx_http_my_filter_module, <=
> &ngx_http_copy_filter_module,
> &ngx_http_range_body_filter_module,
> &ngx_http_not_modified_filter_module,
--
Игорь Сысоев
http://sysoev.ru