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,