mirror of
https://github.com/apache/httpd.git
synced 2025-08-07 04:02:58 +03:00
mod_http2: rewrote TLS buffering on master connection
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1742005 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
@@ -42,26 +42,27 @@ static apr_status_t inspect_clen(h2_request *req, const char *s)
|
||||
return (s == end)? APR_EINVAL : APR_SUCCESS;
|
||||
}
|
||||
|
||||
apr_status_t h2_request_rwrite(h2_request *req, request_rec *r)
|
||||
apr_status_t h2_request_rwrite(h2_request *req, apr_pool_t *pool,
|
||||
request_rec *r)
|
||||
{
|
||||
apr_status_t status;
|
||||
const char *scheme, *authority;
|
||||
|
||||
scheme = (r->parsed_uri.scheme? r->parsed_uri.scheme
|
||||
scheme = apr_pstrdup(pool, r->parsed_uri.scheme? r->parsed_uri.scheme
|
||||
: ap_http_scheme(r));
|
||||
authority = r->hostname;
|
||||
authority = apr_pstrdup(pool, r->hostname);
|
||||
if (!ap_strchr_c(authority, ':') && r->server && r->server->port) {
|
||||
apr_port_t defport = apr_uri_port_of_scheme(scheme);
|
||||
if (defport != r->server->port) {
|
||||
/* port info missing and port is not default for scheme: append */
|
||||
authority = apr_psprintf(r->pool, "%s:%d", authority,
|
||||
authority = apr_psprintf(pool, "%s:%d", authority,
|
||||
(int)r->server->port);
|
||||
}
|
||||
}
|
||||
|
||||
status = h2_req_make(req, r->pool, r->method, scheme, authority,
|
||||
apr_uri_unparse(r->pool, &r->parsed_uri,
|
||||
APR_URI_UNP_OMITSITEPART),
|
||||
status = h2_req_make(req, pool, apr_pstrdup(pool, r->method), scheme,
|
||||
authority, apr_uri_unparse(pool, &r->parsed_uri,
|
||||
APR_URI_UNP_OMITSITEPART),
|
||||
r->headers_in);
|
||||
return status;
|
||||
}
|
||||
|
Reference in New Issue
Block a user