diff options
author | Igor Sysoev <igor@sysoev.ru> | 2009-11-29 20:49:29 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2009-11-29 20:49:29 +0000 |
commit | f8b50b9c96db9b9e6db1c27dd8e51f253212f002 (patch) | |
tree | 83a784193cba865f1419cf58a9048776290c8b5c | |
parent | 601ab90cd45030f28ac479ef4fd3ae761dcfb88c (diff) | |
download | nginx-f8b50b9c96db9b9e6db1c27dd8e51f253212f002.tar.gz nginx-f8b50b9c96db9b9e6db1c27dd8e51f253212f002.zip |
log proxied HTTP/0.9 responses status as "009"
-rw-r--r-- | src/http/modules/ngx_http_log_module.c | 21 | ||||
-rw-r--r-- | src/http/modules/ngx_http_proxy_module.c | 2 |
2 files changed, 19 insertions, 4 deletions
diff --git a/src/http/modules/ngx_http_log_module.c b/src/http/modules/ngx_http_log_module.c index 4ea7682f5..0752d0394 100644 --- a/src/http/modules/ngx_http_log_module.c +++ b/src/http/modules/ngx_http_log_module.c @@ -542,8 +542,25 @@ ngx_http_log_request_time(ngx_http_request_t *r, u_char *buf, static u_char * ngx_http_log_status(ngx_http_request_t *r, u_char *buf, ngx_http_log_op_t *op) { - return ngx_sprintf(buf, "%ui", - r->err_status ? r->err_status : r->headers_out.status); + ngx_uint_t status; + + if (r->err_status) { + status = r->err_status; + + } else if (r->headers_out.status) { + status = r->headers_out.status; + + } else if (r->http_version == NGX_HTTP_VERSION_9) { + *buf++ = '0'; + *buf++ = '0'; + *buf++ = '9'; + return buf; + + } else { + status = 0; + } + + return ngx_sprintf(buf, "%ui", status); } diff --git a/src/http/modules/ngx_http_proxy_module.c b/src/http/modules/ngx_http_proxy_module.c index e0f17e70a..3e0588f90 100644 --- a/src/http/modules/ngx_http_proxy_module.c +++ b/src/http/modules/ngx_http_proxy_module.c @@ -1230,7 +1230,6 @@ ngx_http_proxy_process_status_line(ngx_http_request_t *r) if (r->cache) { r->http_version = NGX_HTTP_VERSION_9; - u->headers_in.status_n = NGX_HTTP_OK; return NGX_OK; } @@ -1246,7 +1245,6 @@ ngx_http_proxy_process_status_line(ngx_http_request_t *r) #endif r->http_version = NGX_HTTP_VERSION_9; - u->headers_in.status_n = NGX_HTTP_OK; u->state->status = NGX_HTTP_OK; return NGX_OK; |