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