comparison src/http/ngx_http_spdy_filter_module.c @ 5249:725fb71ab1a6

SPDY: pass through the full status when available. Avoid stripping the status text when proxying for compatibility with http.
author Jim Radford <radford@galvanix.com>
date Fri, 07 Jun 2013 13:16:00 -0700
parents 5776804fff04
children 4ef49081ef4c
comparison
equal deleted inserted replaced
5248:f5626ab8cb87 5249:725fb71ab1a6
160 160
161 len = NGX_SPDY_NV_NUM_SIZE 161 len = NGX_SPDY_NV_NUM_SIZE
162 + ngx_http_spdy_nv_nsize("version") 162 + ngx_http_spdy_nv_nsize("version")
163 + ngx_http_spdy_nv_vsize("HTTP/1.1") 163 + ngx_http_spdy_nv_vsize("HTTP/1.1")
164 + ngx_http_spdy_nv_nsize("status") 164 + ngx_http_spdy_nv_nsize("status")
165 + ngx_http_spdy_nv_vsize("418"); 165 + (r->headers_out.status_line.len
166 ? NGX_SPDY_NV_VLEN_SIZE + r->headers_out.status_line.len
167 : ngx_http_spdy_nv_vsize("418"));
166 168
167 clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module); 169 clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module);
168 170
169 if (r->headers_out.server == NULL) { 171 if (r->headers_out.server == NULL) {
170 len += ngx_http_spdy_nv_nsize("server"); 172 len += ngx_http_spdy_nv_nsize("server");
302 304
303 last = ngx_http_spdy_nv_write_name(last, "version"); 305 last = ngx_http_spdy_nv_write_name(last, "version");
304 last = ngx_http_spdy_nv_write_val(last, "HTTP/1.1"); 306 last = ngx_http_spdy_nv_write_val(last, "HTTP/1.1");
305 307
306 last = ngx_http_spdy_nv_write_name(last, "status"); 308 last = ngx_http_spdy_nv_write_name(last, "status");
307 last = ngx_http_spdy_nv_write_vlen(last, 3); 309
308 last = ngx_sprintf(last, "%03ui", r->headers_out.status); 310 if (r->headers_out.status_line.len) {
311 last = ngx_http_spdy_nv_write_vlen(last, r->headers_out.status_line.len);
312 last = ngx_cpymem(last, r->headers_out.status_line.data,
313 r->headers_out.status_line.len);
314 } else {
315 last = ngx_http_spdy_nv_write_vlen(last, 3);
316 last = ngx_sprintf(last, "%03ui", r->headers_out.status);
317 }
309 318
310 count = 2; 319 count = 2;
311 320
312 if (r->headers_out.server == NULL) { 321 if (r->headers_out.server == NULL) {
313 last = ngx_http_spdy_nv_write_name(last, "server"); 322 last = ngx_http_spdy_nv_write_name(last, "server");