On Wed, Jul 18, 2007 at 04:04:43PM +0400, Denis Erygin wrote:
> Как редактировать заголовки в handler-модулях?
>
> Например, заменить "Сonnection: keep-alive" на "Connection: close".
>
> Если пролистать r->headers_out.headers, то там нет ни одного заголовка,
> хотя они есть в выводе браузеру, например если от браузера пришел
> "Connection: keep-alive", то он отдается без изменений обратно, хотя
> в r->headers_out.headers не присутствует.
>
> h = ngx_list_push(&r->headers_out.headers);
> if (h) {
> h->hash = 1;
> h->key.len = sizeof("Connection") - 1;
> h->key.data = (u_char*)"Connection";
> h->value.len = sizeof("close") - 1;
> h->value.data = (u_char*)"close";
> }
>
> Код выше просто добавляет заголовок в конец,
> так как же перехватывать/редактировать все, отдаваемые браузеру,
> заголовки?
Некоторые заголовки не выставляются явно. В частности,
"Connection: close" выдаётся в ngx_http_header_filter_module,
если не установлен r->keepalive.
--
Игорь Сысоев
http://sysoev.ru