]> granicus.if.org Git - apache/commitdiff
Fix some config checking params.
authorWilliam A. Rowe Jr <wrowe@apache.org>
Wed, 11 Aug 2004 22:48:13 +0000 (22:48 +0000)
committerWilliam A. Rowe Jr <wrowe@apache.org>
Wed, 11 Aug 2004 22:48:13 +0000 (22:48 +0000)
Added route and route redirect to the runtime worker.

Submitted by: mturk

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@104606 13f79535-47bb-0310-9956-ffa450edef68

modules/proxy/mod_proxy.c
modules/proxy/mod_proxy.h

index 8b13df36233117c032ef1bb269dcd2ca0ed87ea4..a5cade2a7949527fab77726c1847248c6627eaaa 100644 (file)
@@ -856,7 +856,7 @@ static const char *
             char *val = strchr(word, '=');
             if (!val) {
                 if (cmd->path)
-                    return "Invalid ProxyPass parameter. Paramet must be in the form key=value";
+                    return "Invalid ProxyPass parameter. Paramet must be in the form 'key=value'";
                 else
                     return "ProxyPass can not have a path when defined in a location"; 
             }
@@ -883,12 +883,12 @@ static const char *
                                                     cmd->pool,
                                                     conf, r);
             if (err)
-                return apr_pstrcat(cmd->temp_pool, "BalancerMember: ", err, NULL);
+                return apr_pstrcat(cmd->temp_pool, "ProxyPass ", err, NULL);
         }        
         for (i = 0; i < arr->nelts; i++) {
             const char *err = set_balancer_param(balancer, elts[i].key, elts[i].val);
             if (err)
-                return apr_pstrcat(cmd->temp_pool, "ProxyPass: ", err, NULL);
+                return apr_pstrcat(cmd->temp_pool, "ProxyPass ", err, NULL);
         }
     }
     else {
@@ -896,14 +896,14 @@ static const char *
         if (!worker) {
             const char *err = ap_proxy_add_worker(&worker, cmd->pool, conf, r);
             if (err)
-                return apr_pstrcat(cmd->temp_pool, "ProxyPass: ", err, NULL);
+                return apr_pstrcat(cmd->temp_pool, "ProxyPass ", err, NULL);
         }
         PROXY_COPY_CONF_PARAMS(worker, conf);
 
         for (i = 0; i < arr->nelts; i++) {
             const char *err = set_worker_param(worker, elts[i].key, elts[i].val);
             if (err)
-                return apr_pstrcat(cmd->temp_pool, "ProxyPass: ", err, NULL);
+                return apr_pstrcat(cmd->temp_pool, "ProxyPass ", err, NULL);
         }
     }
     return NULL;
@@ -1249,7 +1249,7 @@ static const char *add_member(cmd_parms *cmd, void *dummy, const char *arg)
                 if (cmd->path)
                     return "BalancerMember can not have a balancer name when defined in a location";
                 else
-                    return "Invalid BalancerMember parameter. Paramet must be in the form key=value";
+                    return "Invalid BalancerMember parameter. Paramet must be in the form 'key=value'";
             else
                 *val++ = '\0';
             apr_table_setn(params, word, val);
@@ -1268,7 +1268,7 @@ static const char *add_member(cmd_parms *cmd, void *dummy, const char *arg)
     if (!worker) {
         const char *err;
         if ((err = ap_proxy_add_worker(&worker, cmd->pool, conf, name)) != NULL)
-            return apr_pstrcat(cmd->temp_pool, "BalancerMember: ", err, NULL); 
+            return apr_pstrcat(cmd->temp_pool, "BalancerMember ", err, NULL); 
     }
     PROXY_COPY_CONF_PARAMS(worker, conf);
     
@@ -1277,7 +1277,7 @@ static const char *add_member(cmd_parms *cmd, void *dummy, const char *arg)
     for (i = 0; i < arr->nelts; i++) {
         const char *err = set_worker_param(worker, elts[i].key, elts[i].val);
         if (err)
-            return apr_pstrcat(cmd->temp_pool, "BalancerMember: ", err, NULL);
+            return apr_pstrcat(cmd->temp_pool, "BalancerMember ", err, NULL);
     }
     /* Try to find the balancer */
     balancer = ap_proxy_get_balancer(cmd->temp_pool, conf, name); 
@@ -1286,7 +1286,7 @@ static const char *add_member(cmd_parms *cmd, void *dummy, const char *arg)
                                                 cmd->pool,
                                                 conf, path);
         if (err)
-            return apr_pstrcat(cmd->temp_pool, "BalancerMember: ", err, NULL);
+            return apr_pstrcat(cmd->temp_pool, "BalancerMember ", err, NULL);
     }
     /* Add the worker to the load balancer */
     ap_proxy_add_worker_to_balancer(balancer, worker);
index ddc237c39229fe4f648021b6ebf9da341cdd57db..a35f1bed17757a727896b95a63a5aae4c0ad0b91 100644 (file)
@@ -209,6 +209,7 @@ struct proxy_conn_pool {
 #if APR_HAS_THREADS
     apr_reslist_t  *res;    /* Connection resource list */
 #endif
+    int            nfree;   /* Balancer free count number */
     proxy_conn_rec *conn;   /* Single connection for prefork mpm's */
 };
 
@@ -250,6 +251,8 @@ typedef struct {
     double          lbsatus;    /* Current lbstatus */
     apr_size_t      transfered; /* Number of bytes transfered to remote */
     apr_size_t      readed;     /* Number of bytes readed from remote */
+    const char      *route;
+    const char      *redirect;
 } proxy_runtime_worker;
 
 struct proxy_balancer {
@@ -311,7 +314,7 @@ APR_DECLARE_EXTERNAL_HOOK(proxy, PROXY, int, fixups, (request_rec *r))
  *
  */
 APR_DECLARE_EXTERNAL_HOOK(proxy, PROXY, int, pre_request, (proxy_worker **worker,
-                          struct proxy_balancer **balancer,
+                          proxy_balancer **balancer,
                           request_rec *r,
                           proxy_server_conf *conf, char **url))                          
 /**
@@ -319,7 +322,7 @@ APR_DECLARE_EXTERNAL_HOOK(proxy, PROXY, int, pre_request, (proxy_worker **worker
  * It is called after request for updating runtime balancer status.
  */
 APR_DECLARE_EXTERNAL_HOOK(proxy, PROXY, int, post_request, (proxy_worker *worker,
-                          struct proxy_balancer *balancer, request_rec *r,
+                          proxy_balancer *balancer, request_rec *r,
                           proxy_server_conf *conf))