aboutsummaryrefslogtreecommitdiff
path: root/src/http/modules/ngx_http_scgi_module.c
diff options
context:
space:
mode:
authorPiotr Sikora <piotr@cloudflare.com>2014-02-11 21:54:42 -0800
committerPiotr Sikora <piotr@cloudflare.com>2014-02-11 21:54:42 -0800
commit60d508ceb9c5ad867d33b819c9dfbdf05b9eef4b (patch)
treee0ea85fc89cfd2f3c3c71867c2653580d50a9b2b /src/http/modules/ngx_http_scgi_module.c
parentcd358e5a95fb770f30207fffe8e45dbc2bb7e52b (diff)
downloadnginx-60d508ceb9c5ad867d33b819c9dfbdf05b9eef4b.tar.gz
nginx-60d508ceb9c5ad867d33b819c9dfbdf05b9eef4b.zip
Upstream: fix $upstream_status variable.
Previously, upstream's status code was overwritten with cached response's status code when STALE or REVALIDATED response was sent to the client. Signed-off-by: Piotr Sikora <piotr@cloudflare.com>
Diffstat (limited to 'src/http/modules/ngx_http_scgi_module.c')
-rw-r--r--src/http/modules/ngx_http_scgi_module.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/http/modules/ngx_http_scgi_module.c b/src/http/modules/ngx_http_scgi_module.c
index 70f6ac1de..884cb500a 100644
--- a/src/http/modules/ngx_http_scgi_module.c
+++ b/src/http/modules/ngx_http_scgi_module.c
@@ -885,7 +885,7 @@ ngx_http_scgi_process_status_line(ngx_http_request_t *r)
return ngx_http_scgi_process_header(r);
}
- if (u->state) {
+ if (u->state && u->state->status == 0) {
u->state->status = status->code;
}
@@ -1013,7 +1013,7 @@ ngx_http_scgi_process_header(ngx_http_request_t *r)
ngx_str_set(&u->headers_in.status_line, "200 OK");
}
- if (u->state) {
+ if (u->state && u->state->status == 0) {
u->state->status = u->headers_in.status_n;
}