1
0
mirror of https://github.com/apache/httpd.git synced 2025-08-07 04:02:58 +03:00

Proxy balancer lbmethods are now registered as providers and not

via hooks. Move various find() functions back to mod_proxy_balancer
where they belong :)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@279752 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Jim Jagielski
2005-09-09 12:28:02 +00:00
parent cb68a807de
commit 22c5cb4728
4 changed files with 196 additions and 220 deletions

View File

@@ -273,15 +273,10 @@ static const char *set_balancer_param(proxy_server_conf *conf,
balancer->max_attempts_set = 1;
}
else if (!strcasecmp(key, "lbmethod")) {
struct proxy_balancer_method *ent =
(struct proxy_balancer_method *) conf->lbmethods->elts;
int i;
for (i = 0; i < conf->lbmethods->nelts; i++) {
if (!strcasecmp(val, ent->name)) {
balancer->lbmethod = ent;
return NULL;
}
ent++;
proxy_balancer_method *provider;
if (provider = ap_lookup_provider(PROXY_LBMETHOD, val, "0")) {
balancer->lbmethod = provider;
return NULL;
}
return "unknown lbmethod";
}
@@ -798,7 +793,6 @@ static void * create_proxy_config(apr_pool_t *p, server_rec *s)
ps->allowed_connect_ports = apr_array_make(p, 10, sizeof(int));
ps->workers = apr_array_make(p, 10, sizeof(proxy_worker));
ps->balancers = apr_array_make(p, 10, sizeof(proxy_balancer));
ps->lbmethods = apr_array_make(p, 10, sizeof(proxy_balancer_method));
ps->forward = NULL;
ps->reverse = NULL;
ps->domain = NULL;
@@ -821,9 +815,7 @@ static void * create_proxy_config(apr_pool_t *p, server_rec *s)
ps->badopt = bad_error;
ps->badopt_set = 0;
ps->pool = p;
ap_proxy_add_lbmethods(ps);
return ps;
}
@@ -841,7 +833,6 @@ static void * merge_proxy_config(apr_pool_t *p, void *basev, void *overridesv)
ps->allowed_connect_ports = apr_array_append(p, base->allowed_connect_ports, overrides->allowed_connect_ports);
ps->workers = apr_array_append(p, base->workers, overrides->workers);
ps->balancers = apr_array_append(p, base->balancers, overrides->balancers);
ps->lbmethods = base->lbmethods;
ps->forward = overrides->forward ? overrides->forward : base->forward;
ps->reverse = overrides->reverse ? overrides->reverse : base->reverse;
@@ -1522,7 +1513,7 @@ static const char *
err = set_balancer_param(conf, cmd->pool, balancer, word, val);
if (err)
return apr_pstrcat(cmd->temp_pool, "ProxySet ", err, " ", word, " ", name, NULL);
return apr_pstrcat(cmd->temp_pool, "ProxySet: ", err, " ", word, "=", val, "; ", name, NULL);
}
return NULL;