comparison src/http/ngx_http_special_response.c @ 582:c456a023113c NGINX_0_8_43

nginx 0.8.43 *) Feature: large geo ranges base loading speed-up. *) Bugfix: an error_page redirection to "location /zero { return 204; }" without changing status code kept the error body; the bug had appeared in 0.8.42. *) Bugfix: nginx might close IPv6 listen socket during reconfiguration. Thanks to Maxim Dounin. *) Bugfix: the $uid_set variable may be used at any request processing stage.
author Igor Sysoev <http://sysoev.ru>
date Wed, 30 Jun 2010 00:00:00 +0400
parents 4d3e880ce86c
children c5122335e41d
comparison
equal deleted inserted replaced
581:22b2345b75d9 582:c456a023113c
596 tail = ngx_http_error_tail; 596 tail = ngx_http_error_tail;
597 } 597 }
598 598
599 msie_padding = 0; 599 msie_padding = 0;
600 600
601 if (!r->zero_body) { 601 if (ngx_http_error_pages[err].len) {
602 if (ngx_http_error_pages[err].len) { 602 r->headers_out.content_length_n = ngx_http_error_pages[err].len + len;
603 r->headers_out.content_length_n = ngx_http_error_pages[err].len 603 if (clcf->msie_padding
604 + len; 604 && (r->headers_in.msie || r->headers_in.chrome)
605 if (clcf->msie_padding 605 && r->http_version >= NGX_HTTP_VERSION_10
606 && (r->headers_in.msie || r->headers_in.chrome) 606 && err >= NGX_HTTP_LEVEL_300)
607 && r->http_version >= NGX_HTTP_VERSION_10 607 {
608 && err >= NGX_HTTP_LEVEL_300) 608 r->headers_out.content_length_n +=
609 { 609 sizeof(ngx_http_msie_padding) - 1;
610 r->headers_out.content_length_n += 610 msie_padding = 1;
611 sizeof(ngx_http_msie_padding) - 1; 611 }
612 msie_padding = 1; 612
613 } 613 r->headers_out.content_type_len = sizeof("text/html") - 1;
614 614 ngx_str_set(&r->headers_out.content_type, "text/html");
615 r->headers_out.content_type_len = sizeof("text/html") - 1; 615 r->headers_out.content_type_lowcase = NULL;
616 ngx_str_set(&r->headers_out.content_type, "text/html");
617 r->headers_out.content_type_lowcase = NULL;
618
619 } else {
620 r->headers_out.content_length_n = -1;
621 }
622 616
623 } else { 617 } else {
624 r->headers_out.content_length_n = 0; 618 r->headers_out.content_length_n = -1;
625 err = 0;
626 } 619 }
627 620
628 if (r->headers_out.content_length) { 621 if (r->headers_out.content_length) {
629 r->headers_out.content_length->hash = 0; 622 r->headers_out.content_length->hash = 0;
630 r->headers_out.content_length = NULL; 623 r->headers_out.content_length = NULL;