]> granicus.if.org Git - apache/commitdiff
First try the reverse proxies. If there is no worker defined for
authorMladen Turk <mturk@apache.org>
Thu, 9 Sep 2004 13:51:08 +0000 (13:51 +0000)
committerMladen Turk <mturk@apache.org>
Thu, 9 Sep 2004 13:51:08 +0000 (13:51 +0000)
requested uri use the forward worker, but only for PROXYREQ_PROXY
requests.

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

modules/proxy/proxy_util.c

index ed7590b969592adf1d943d8f60b59190a3765e9c..913116e2fcfa46b8694c973b1b23635446252ce1 100644 (file)
@@ -1237,16 +1237,6 @@ PROXY_DECLARE(int) ap_proxy_pre_request(proxy_worker **worker,
 {
     int access_status;
     
-    if (r->proxyreq == PROXYREQ_PROXY) {
-        if (conf->forward) {
-            *balancer = NULL;
-            *worker = conf->forward;
-            access_status = OK;
-        }
-        else
-            access_status = DECLINED;
-        return access_status;
-    }
     access_status = proxy_run_pre_request(worker, balancer, r, conf, url);
     if (access_status == DECLINED && *balancer == NULL) {
         *worker = ap_proxy_get_worker(r->pool, conf, *url);
@@ -1254,8 +1244,13 @@ PROXY_DECLARE(int) ap_proxy_pre_request(proxy_worker **worker,
             *balancer = NULL;
             access_status = OK;
         }
-        else
-            access_status = DECLINED;
+        else if (r->proxyreq == PROXYREQ_PROXY) {
+            if (conf->forward) {
+                *balancer = NULL;
+                *worker = conf->forward;
+                access_status = OK;
+            }
+        }
     }
     else if (access_status == DECLINED && balancer != NULL) {
         /* All the workers are busy */