Mercurial > hg > nginx
comparison src/http/ngx_http_special_response.c @ 2436:26d9d4a41e91
send "100 Continue" just before reading request body
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Fri, 26 Dec 2008 13:43:42 +0000 |
parents | 798ecc4fe75c |
children | 859f6675a553 |
comparison
equal
deleted
inserted
replaced
2435:821497e016b6 | 2436:26d9d4a41e91 |
---|---|
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, |