| 730 | } |
| 731 | |
| 732 | static request_rec *make_fake_req(conn_rec *c, request_rec *r) |
| 733 | { |
| 734 | apr_pool_t *pool; |
| 735 | request_rec *rp; |
| 736 | |
| 737 | apr_pool_create(&pool, c->pool); |
| 738 | apr_pool_tag(pool, "proxy_http_rp"); |
| 739 | |
| 740 | rp = apr_pcalloc(pool, sizeof(*r)); |
| 741 | |
| 742 | rp->pool = pool; |
| 743 | rp->status = HTTP_OK; |
| 744 | |
| 745 | rp->headers_in = apr_table_make(pool, 50); |
| 746 | rp->trailers_in = apr_table_make(pool, 5); |
| 747 | |
| 748 | rp->subprocess_env = apr_table_make(pool, 50); |
| 749 | rp->headers_out = apr_table_make(pool, 12); |
| 750 | rp->trailers_out = apr_table_make(pool, 5); |
| 751 | rp->err_headers_out = apr_table_make(pool, 5); |
| 752 | rp->notes = apr_table_make(pool, 5); |
| 753 | |
| 754 | rp->server = r->server; |
| 755 | rp->log = r->log; |
| 756 | rp->proxyreq = r->proxyreq; |
| 757 | rp->request_time = r->request_time; |
| 758 | rp->connection = c; |
| 759 | rp->output_filters = c->output_filters; |
| 760 | rp->input_filters = c->input_filters; |
| 761 | rp->proto_output_filters = c->output_filters; |
| 762 | rp->proto_input_filters = c->input_filters; |
| 763 | rp->useragent_ip = c->client_ip; |
| 764 | rp->useragent_addr = c->client_addr; |
| 765 | |
| 766 | rp->request_config = ap_create_request_config(pool); |
| 767 | proxy_run_create_req(r, rp); |
| 768 | |
| 769 | return rp; |
| 770 | } |
| 771 | |
| 772 | static void process_proxy_header(request_rec *r, proxy_dir_conf *c, |
| 773 | const char *key, const char *value) |
no test coverage detected