mirror of
https://github.com/apache/httpd.git
synced 2025-08-07 04:02:58 +03:00
No need to allocate hostname on each request for
persistent connections. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@105109 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
@@ -1569,17 +1569,20 @@ ap_proxy_determine_connection(apr_pool_t *p, request_rec *r,
|
||||
*/
|
||||
/* are we connecting directly, or via a proxy? */
|
||||
if (proxyname) {
|
||||
conn->hostname = apr_pstrdup(conn->pool, proxyname);
|
||||
conn->port = proxyport;
|
||||
} else {
|
||||
conn->hostname = apr_pstrdup(conn->pool, uri->hostname);
|
||||
conn->port = uri->port;
|
||||
*url = apr_pstrcat(p, uri->path, uri->query ? "?" : "",
|
||||
uri->query ? uri->query : "",
|
||||
uri->fragment ? "#" : "",
|
||||
uri->fragment ? uri->fragment : "", NULL);
|
||||
}
|
||||
|
||||
if (!conn->hostname) {
|
||||
if (proxyname) {
|
||||
conn->hostname = apr_pstrdup(conn->pool, proxyname);
|
||||
conn->port = proxyport;
|
||||
} else {
|
||||
conn->hostname = apr_pstrdup(conn->pool, uri->hostname);
|
||||
conn->port = uri->port;
|
||||
}
|
||||
}
|
||||
/* TODO: add address cache for forward proxies */
|
||||
conn->addr = worker->cp->addr;
|
||||
if (r->proxyreq == PROXYREQ_PROXY) {
|
||||
|
Reference in New Issue
Block a user