Mercurial > hg > nginx-vendor-1-0
comparison src/http/ngx_http_special_response.c @ 438:ce4f9ff90bfa NGINX_0_7_31
nginx 0.7.31
*) Change: now the "try_files" directive tests files only and ignores
directories.
*) Feature: the "fastcgi_split_path_info" directive.
*) Bugfixes in an "Expect" request header line support.
*) Bugfixes in geo ranges.
*) Bugfix: in a miss case ngx_http_memcached_module returned the "END"
line as response body instead of default 404 page body; the bug had
appeared in 0.7.18.
Thanks to Maxim Dounin.
*) Bugfix: while SMTP proxying nginx issued message "250 2.0.0 OK"
instead of "235 2.0.0 OK"; the bug had appeared in 0.7.22.
Thanks to Maxim Dounin.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Mon, 19 Jan 2009 00:00:00 +0300 |
parents | 6ebbca3d5ed7 |
children | c8cfb6c462ef |
comparison
equal
deleted
inserted
replaced
437:5da91f7cde93 | 438:ce4f9ff90bfa |
---|---|
377 return ngx_http_send_error_page(r, &err_page[i]); | 377 return ngx_http_send_error_page(r, &err_page[i]); |
378 } | 378 } |
379 } | 379 } |
380 } | 380 } |
381 | 381 |
382 r->expect_tested = 1; | |
383 | |
382 if (ngx_http_discard_request_body(r) != NGX_OK) { | 384 if (ngx_http_discard_request_body(r) != NGX_OK) { |
383 error = NGX_HTTP_INTERNAL_SERVER_ERROR; | 385 error = NGX_HTTP_INTERNAL_SERVER_ERROR; |
384 } | 386 } |
385 | 387 |
386 if (clcf->msie_refresh | 388 if (clcf->msie_refresh |
429 | 431 |
430 static ngx_int_t | 432 static ngx_int_t |
431 ngx_http_send_error_page(ngx_http_request_t *r, ngx_http_err_page_t *err_page) | 433 ngx_http_send_error_page(ngx_http_request_t *r, ngx_http_err_page_t *err_page) |
432 { | 434 { |
433 u_char ch, *p, *last; | 435 u_char ch, *p, *last; |
436 ngx_int_t overwrite; | |
434 ngx_str_t *uri, *args, u, a; | 437 ngx_str_t *uri, *args, u, a; |
435 ngx_table_elt_t *location; | 438 ngx_table_elt_t *location; |
436 ngx_http_core_loc_conf_t *clcf; | 439 ngx_http_core_loc_conf_t *clcf; |
437 | 440 |
438 r->err_status = err_page->overwrite; | 441 overwrite = err_page->overwrite; |
442 | |
443 if (overwrite && overwrite != NGX_HTTP_OK) { | |
444 r->expect_tested = 1; | |
445 } | |
446 | |
447 r->err_status = overwrite; | |
439 | 448 |
440 r->zero_in_uri = 0; | 449 r->zero_in_uri = 0; |
441 | 450 |
442 if (err_page->uri_lengths) { | 451 if (err_page->uri_lengths) { |
443 if (ngx_http_script_run(r, &u, err_page->uri_lengths->elts, 0, | 452 if (ngx_http_script_run(r, &u, err_page->uri_lengths->elts, 0, |