comparison src/http/modules/ngx_http_fastcgi_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 2a97b47ff8db
children 56688ed172c8
comparison
equal deleted inserted replaced
205:e53bd15c244a 206:3866d57d9cfd
154 154
155 static ngx_conf_deprecated_t ngx_conf_deprecated_fastcgi_header_buffer_size = { 155 static ngx_conf_deprecated_t ngx_conf_deprecated_fastcgi_header_buffer_size = {
156 ngx_conf_deprecated, "fastcgi_header_buffer_size", "fastcgi_buffer_size" 156 ngx_conf_deprecated, "fastcgi_header_buffer_size", "fastcgi_buffer_size"
157 }; 157 };
158 158
159 static ngx_conf_deprecated_t ngx_conf_deprecated_fastcgi_redirect_errors = {
160 ngx_conf_deprecated, "fastcgi_redirect_errors", "fastcgi_intercept_errors"
161 };
162
159 163
160 static ngx_conf_bitmask_t ngx_http_fastcgi_next_upstream_masks[] = { 164 static ngx_conf_bitmask_t ngx_http_fastcgi_next_upstream_masks[] = {
161 { ngx_string("error"), NGX_HTTP_UPSTREAM_FT_ERROR }, 165 { ngx_string("error"), NGX_HTTP_UPSTREAM_FT_ERROR },
162 { ngx_string("timeout"), NGX_HTTP_UPSTREAM_FT_TIMEOUT }, 166 { ngx_string("timeout"), NGX_HTTP_UPSTREAM_FT_TIMEOUT },
163 { ngx_string("invalid_header"), NGX_HTTP_UPSTREAM_FT_INVALID_HEADER }, 167 { ngx_string("invalid_header"), NGX_HTTP_UPSTREAM_FT_INVALID_HEADER },
238 ngx_conf_set_flag_slot, 242 ngx_conf_set_flag_slot,
239 NGX_HTTP_LOC_CONF_OFFSET, 243 NGX_HTTP_LOC_CONF_OFFSET,
240 offsetof(ngx_http_fastcgi_loc_conf_t, upstream.pass_request_body), 244 offsetof(ngx_http_fastcgi_loc_conf_t, upstream.pass_request_body),
241 NULL }, 245 NULL },
242 246
247 { ngx_string("fastcgi_intercept_errors"),
248 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG,
249 ngx_conf_set_flag_slot,
250 NGX_HTTP_LOC_CONF_OFFSET,
251 offsetof(ngx_http_fastcgi_loc_conf_t, upstream.intercept_errors),
252 NULL },
253
243 { ngx_string("fastcgi_redirect_errors"), 254 { ngx_string("fastcgi_redirect_errors"),
244 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG, 255 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG,
245 ngx_conf_set_flag_slot, 256 ngx_conf_set_flag_slot,
246 NGX_HTTP_LOC_CONF_OFFSET, 257 NGX_HTTP_LOC_CONF_OFFSET,
247 offsetof(ngx_http_fastcgi_loc_conf_t, upstream.redirect_errors), 258 offsetof(ngx_http_fastcgi_loc_conf_t, upstream.intercept_errors),
248 NULL }, 259 &ngx_conf_deprecated_fastcgi_redirect_errors },
249 260
250 { ngx_string("fastcgi_read_timeout"), 261 { ngx_string("fastcgi_read_timeout"),
251 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, 262 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1,
252 ngx_conf_set_msec_slot, 263 ngx_conf_set_msec_slot,
253 NGX_HTTP_LOC_CONF_OFFSET, 264 NGX_HTTP_LOC_CONF_OFFSET,
1532 conf->upstream.fail_timeout = NGX_CONF_UNSET; 1543 conf->upstream.fail_timeout = NGX_CONF_UNSET;
1533 1544
1534 conf->upstream.pass_request_headers = NGX_CONF_UNSET; 1545 conf->upstream.pass_request_headers = NGX_CONF_UNSET;
1535 conf->upstream.pass_request_body = NGX_CONF_UNSET; 1546 conf->upstream.pass_request_body = NGX_CONF_UNSET;
1536 1547
1537 conf->upstream.redirect_errors = NGX_CONF_UNSET; 1548 conf->upstream.intercept_errors = NGX_CONF_UNSET;
1538 1549
1539 /* "fastcgi_cyclic_temp_file" is disabled */ 1550 /* "fastcgi_cyclic_temp_file" is disabled */
1540 conf->upstream.cyclic_temp_file = 0; 1551 conf->upstream.cyclic_temp_file = 0;
1541 1552
1542 return conf; 1553 return conf;
1706 ngx_conf_merge_value(conf->upstream.pass_request_headers, 1717 ngx_conf_merge_value(conf->upstream.pass_request_headers,
1707 prev->upstream.pass_request_headers, 1); 1718 prev->upstream.pass_request_headers, 1);
1708 ngx_conf_merge_value(conf->upstream.pass_request_body, 1719 ngx_conf_merge_value(conf->upstream.pass_request_body,
1709 prev->upstream.pass_request_body, 1); 1720 prev->upstream.pass_request_body, 1);
1710 1721
1711 ngx_conf_merge_value(conf->upstream.redirect_errors, 1722 ngx_conf_merge_value(conf->upstream.intercept_errors,
1712 prev->upstream.redirect_errors, 0); 1723 prev->upstream.intercept_errors, 0);
1713 1724
1714 1725
1715 ngx_conf_merge_str_value(conf->index, prev->index, ""); 1726 ngx_conf_merge_str_value(conf->index, prev->index, "");
1716 1727
1717 if (conf->upstream.hide_headers == NULL 1728 if (conf->upstream.hide_headers == NULL