diff options
author | Igor Sysoev <igor@sysoev.ru> | 2006-07-28 15:16:17 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2006-07-28 15:16:17 +0000 |
commit | 8f1255877c4b64f83fce75baa4d903797e00e815 (patch) | |
tree | e6594c2c4578b85fa81c4a5fe334daac91142a6f /src/http/ngx_http_request.c | |
parent | 741c6e9c1ecd17d2165f2e8e3426023117f4b15d (diff) | |
download | nginx-8f1255877c4b64f83fce75baa4d903797e00e815.tar.gz nginx-8f1255877c4b64f83fce75baa4d903797e00e815.zip |
nginx-0.3.55-RELEASE importrelease-0.3.55
*) Feature: the "stub" parameter in the "include" SSI command.
*) Feature: the "block" SSI command.
*) Feature: the unicode2nginx script was added to contrib.
*) Bugfix: if a "root" was specified by variable only, then the root
was relative to a server prefix.
*) Bugfix: if the request contained "//" or "/./" and escaped symbols
after them, then the proxied request was sent unescaped.
*) Bugfix: the $r->headers_in("Cookie") of the ngx_http_perl_module now
returns all "Cookie" header lines.
*) Bugfix: a segmentation fault occurred if
"client_body_in_file_only on" was used and nginx switched to a next
upstream.
*) Bugfix: on some condition while reconfiguration character codes
inside the "charset_map" may be treated invalid; the bug had
appeared in 0.3.50.
Diffstat (limited to 'src/http/ngx_http_request.c')
-rw-r--r-- | src/http/ngx_http_request.c | 33 |
1 files changed, 23 insertions, 10 deletions
diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c index 0145fe7d4..e645e811a 100644 --- a/src/http/ngx_http_request.c +++ b/src/http/ngx_http_request.c @@ -853,7 +853,7 @@ ngx_http_process_request_headers(ngx_event_t *rev) } else { for (i = 0; i < h->key.len; i++) { - h->lowcase_key[i] = ngx_tolower(h->lowcase_key[i]); + h->lowcase_key[i] = ngx_tolower(h->key.data[i]); } } @@ -1459,6 +1459,28 @@ ngx_http_finalize_request(ngx_http_request_t *r, ngx_int_t rc) "http finalize request: %d, \"%V?%V\"", rc, &r->uri, &r->args); + if (r != r->main + && rc != NGX_ERROR + && !r->connection->error + && !r->request_output + && r->out) + { + if (!r->header_sent) { + rc = ngx_http_set_content_type(r); + + if (rc == NGX_OK) { + rc = ngx_http_send_header(r); + + if (rc != NGX_ERROR) { + rc = ngx_http_output_filter(r, r->out); + } + } + + } else { + rc = ngx_http_output_filter(r, r->out); + } + } + if (rc == NGX_ERROR || rc == NGX_HTTP_REQUEST_TIME_OUT || r->connection->error) @@ -2435,15 +2457,6 @@ ngx_http_log_error_handler(ngx_http_request_t *r, ngx_http_request_t *sr, buf = p; } - return ngx_http_log_error_info(r, buf, len); -} - - -u_char * -ngx_http_log_error_info(ngx_http_request_t *r, u_char *buf, size_t len) -{ - u_char *p; - if (r->headers_in.host) { p = ngx_snprintf(buf, len, ", host: \"%V\"", &r->headers_in.host->value); |