| 478 | } |
| 479 | |
| 480 | AP_DECLARE(void) ap_process_request(request_rec *r) |
| 481 | { |
| 482 | apr_bucket_brigade *bb; |
| 483 | apr_bucket *b; |
| 484 | conn_rec *c = r->connection; |
| 485 | apr_status_t rv; |
| 486 | |
| 487 | ap_process_async_request(r); |
| 488 | |
| 489 | if (!c->data_in_input_filters) { |
| 490 | RETRIEVE_BRIGADE_FROM_POOL(bb, "ap_process_request_brigade", |
| 491 | c->pool, c->bucket_alloc); |
| 492 | b = apr_bucket_flush_create(c->bucket_alloc); |
| 493 | APR_BRIGADE_INSERT_HEAD(bb, b); |
| 494 | rv = ap_pass_brigade(c->output_filters, bb); |
| 495 | if (APR_STATUS_IS_TIMEUP(rv)) { |
| 496 | /* |
| 497 | * Notice a timeout as an error message. This might be |
| 498 | * valuable for detecting clients with broken network |
| 499 | * connections or possible DoS attacks. |
| 500 | */ |
| 501 | ap_log_cerror(APLOG_MARK, APLOG_INFO, rv, c, APLOGNO(01581) |
| 502 | "flushing data to the client"); |
| 503 | } |
| 504 | apr_brigade_cleanup(bb); |
| 505 | } |
| 506 | if (ap_extended_status) { |
| 507 | ap_time_process_request(c->sbh, STOP_PREQUEST); |
| 508 | } |
| 509 | } |
| 510 | |
| 511 | static apr_table_t *rename_original_env(apr_pool_t *p, apr_table_t *t) |
| 512 | { |
no test coverage detected