Commit d5746241 authored by William A. Rowe Jr's avatar William A. Rowe Jr
Browse files

  Backport the fix to an edge case; it's now much more efficient to 
  entirely skip request body determinations for subrequests, stuff
  in an EOS and we are off to the races, ready to create a body-less
  proxied subrequest.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/proxy-reqbody-2.0.x@230725 13f79535-47bb-0310-9956-ffa450edef68
parent 6d99392a
Loading
Loading
Loading
Loading
+7 −0
Original line number Original line Diff line number Diff line
@@ -1031,6 +1031,10 @@ apr_status_t ap_proxy_http_request(apr_pool_t *p, request_rec *r,
            old_te_val = NULL;
            old_te_val = NULL;
            apr_table_unset(r->headers_in, "Transfer-Encoding");
            apr_table_unset(r->headers_in, "Transfer-Encoding");
        }
        }
        rb_method = RB_STREAM_CL;
        e = apr_bucket_eos_create(input_brigade->bucket_alloc);
        APR_BRIGADE_INSERT_TAIL(input_brigade, e);
        goto skip_body;
    }
    }


    /* Prefetch MAX_MEM_SPOOL bytes
    /* Prefetch MAX_MEM_SPOOL bytes
@@ -1125,6 +1129,9 @@ apr_status_t ap_proxy_http_request(apr_pool_t *p, request_rec *r,
        }
        }
    }
    }


/* Yes I hate gotos.  This is the subrequest shortcut */
skip_body:

    switch(rb_method) {
    switch(rb_method) {
    case RB_STREAM_CHUNKED:
    case RB_STREAM_CHUNKED:
        status = stream_reqbody_chunked(p, r, p_conn, origin, bb, 
        status = stream_reqbody_chunked(p, r, p_conn, origin, bb,