On Wed, Jul 11, 2007 at 04:57:31PM +0400, Denis Erygin wrote:
> Как правильно инициализировать header "Content-length" в
> ngx_http_*_body_filter?
Никак. Заголовки нужно менять в ngx_http_*_header_filer.
> Если делать так:
>
> r->headers_out.content_length_n = 1024;
>
> rc = ngx_http_discard_body (r);
> if ( rc != NGX_OK && rc != NGX_AGAIN )
> return rc;
>
> rc = ngx_http_send_header (r);
> if (rc == NGX_ERROR || rc > NGX_OK || r->header_only)
> return rc;
>
> то Content-length не появляется в заголовке, кроме того
> сам заголовок приезжает в теле ответа.
ngx_http_discard_body() и ngx_http_send_header() противопоказываны
для использования в фильтрах.
--
Игорь Сысоев
http://sysoev.ru