comparison src/http/ngx_http_special_response.c @ 730:1be87cdd010f

set "Content-Length: 0" for errors handled by "return 204"
author Igor Sysoev <igor@sysoev.ru>
date Mon, 02 Oct 2006 10:22:51 +0000
parents 08652aae6fab
children bbde03037ef6
comparison
equal deleted inserted replaced
729:52d1379de54e 730:1be87cdd010f
453 } 453 }
454 } 454 }
455 455
456 msie_padding = 0; 456 msie_padding = 0;
457 457
458 if (error_pages[err].len) { 458 if (!r->zero_body) {
459 r->headers_out.content_length_n = error_pages[err].len 459 if (error_pages[err].len) {
460 + sizeof(error_tail) - 1; 460 r->headers_out.content_length_n = error_pages[err].len
461 461 + sizeof(error_tail) - 1;
462 if (clcf->msie_padding 462
463 && r->headers_in.msie 463 if (clcf->msie_padding
464 && r->http_version >= NGX_HTTP_VERSION_10 464 && r->headers_in.msie
465 && error >= NGX_HTTP_BAD_REQUEST 465 && r->http_version >= NGX_HTTP_VERSION_10
466 && error != NGX_HTTP_REQUEST_URI_TOO_LARGE) 466 && error >= NGX_HTTP_BAD_REQUEST
467 { 467 && error != NGX_HTTP_REQUEST_URI_TOO_LARGE)
468 r->headers_out.content_length_n += sizeof(ngx_http_msie_stub) - 1; 468 {
469 msie_padding = 1; 469 r->headers_out.content_length_n +=
470 } 470 sizeof(ngx_http_msie_stub) - 1;
471 471 msie_padding = 1;
472 r->headers_out.content_type.len = sizeof("text/html") - 1; 472 }
473 r->headers_out.content_type.data = (u_char *) "text/html"; 473
474 r->headers_out.content_type.len = sizeof("text/html") - 1;
475 r->headers_out.content_type.data = (u_char *) "text/html";
476
477 } else {
478 r->headers_out.content_length_n = -1;
479 }
474 480
475 } else { 481 } else {
476 r->headers_out.content_length_n = -1; 482 r->headers_out.content_length_n = 0;
483 err = 0;
477 } 484 }
478 485
479 if (r->headers_out.content_length) { 486 if (r->headers_out.content_length) {
480 r->headers_out.content_length->hash = 0; 487 r->headers_out.content_length->hash = 0;
481 r->headers_out.content_length = NULL; 488 r->headers_out.content_length = NULL;