Mercurial > hg > nginx-vendor-0-5
comparison src/http/ngx_http_header_filter_module.c @ 206:3866d57d9cfd NGINX_0_3_50
nginx 0.3.50
*) Change: the "proxy_redirect_errors" and "fastcgi_redirect_errors"
directives was renamed to the "proxy_intercept_errors" and
"fastcgi_intercept_errors" directives.
*) Feature: the ngx_http_charset_module supports the recoding from the
single byte encodings to the UTF-8 encoding and back.
*) Feature: the "X-Accel-Charset" response header line is supported in
proxy and FastCGI mode.
*) Bugfix: the "\" escape symbol in the "\"" and "\'" pairs in the SSI
command was removed only if the command also has the "$" symbol.
*) Bugfix: the "<!--" string might be added on some conditions in the
SSI after inclusion.
*) Bugfix: if the "Content-Length: 0" header line was in response, then
in nonbuffered proxying mode the client connection was not closed.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Wed, 28 Jun 2006 00:00:00 +0400 |
parents | 54aabf2b0bc6 |
children | 56688ed172c8 |
comparison
equal
deleted
inserted
replaced
205:e53bd15c244a | 206:3866d57d9cfd |
---|---|
245 | 245 |
246 if (r->headers_out.content_type.len) { | 246 if (r->headers_out.content_type.len) { |
247 len += sizeof("Content-Type: ") - 1 | 247 len += sizeof("Content-Type: ") - 1 |
248 + r->headers_out.content_type.len + 2; | 248 + r->headers_out.content_type.len + 2; |
249 | 249 |
250 if (r->headers_out.charset.len) { | 250 if (r->headers_out.content_type_len == r->headers_out.content_type.len |
251 && r->headers_out.charset.len) | |
252 { | |
251 len += sizeof("; charset=") - 1 + r->headers_out.charset.len; | 253 len += sizeof("; charset=") - 1 + r->headers_out.charset.len; |
252 } | 254 } |
253 } | 255 } |
254 | 256 |
255 if (r->headers_out.content_length == NULL | 257 if (r->headers_out.content_length == NULL |
378 sizeof("Content-Type: ") - 1); | 380 sizeof("Content-Type: ") - 1); |
379 p = b->last; | 381 p = b->last; |
380 b->last = ngx_copy(b->last, r->headers_out.content_type.data, | 382 b->last = ngx_copy(b->last, r->headers_out.content_type.data, |
381 r->headers_out.content_type.len); | 383 r->headers_out.content_type.len); |
382 | 384 |
383 if (r->headers_out.charset.len) { | 385 if (r->headers_out.content_type_len == r->headers_out.content_type.len |
386 && r->headers_out.charset.len) | |
387 { | |
384 b->last = ngx_cpymem(b->last, "; charset=", | 388 b->last = ngx_cpymem(b->last, "; charset=", |
385 sizeof("; charset=") - 1); | 389 sizeof("; charset=") - 1); |
386 b->last = ngx_copy(b->last, r->headers_out.charset.data, | 390 b->last = ngx_copy(b->last, r->headers_out.charset.data, |
387 r->headers_out.charset.len); | 391 r->headers_out.charset.len); |
388 | 392 |