You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by jf...@apache.org on 2021/03/09 08:39:21 UTC

svn commit: r1887359 - in /httpd/httpd/trunk/modules/proxy: mod_proxy.h mod_proxy_balancer.c

Author: jfclere
Date: Tue Mar  9 08:39:21 2021
New Revision: 1887359

URL: http://svn.apache.org/viewvc?rev=1887359&view=rev
Log:
Use an optional function as adviced by RĂ¼diger.

Modified:
    httpd/httpd/trunk/modules/proxy/mod_proxy.h
    httpd/httpd/trunk/modules/proxy/mod_proxy_balancer.c

Modified: httpd/httpd/trunk/modules/proxy/mod_proxy.h
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/proxy/mod_proxy.h?rev=1887359&r1=1887358&r2=1887359&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/proxy/mod_proxy.h (original)
+++ httpd/httpd/trunk/modules/proxy/mod_proxy.h Tue Mar  9 08:39:21 2021
@@ -1336,6 +1336,16 @@ PROXY_DECLARE(int) ap_proxy_tunnel_run(p
 APR_DECLARE_OPTIONAL_FN(int, ap_proxy_clear_connection,
         (request_rec *r, apr_table_t *headers));
 
+/**
+ * Configure and create workers (and balancer) in mod_balancer.
+ * @param r request
+ * @param params table with the parameters like b=mycluster etc.
+ * @return 404 when the worker/balancer doesn't exist,
+ *         400 if something is invalid
+ *         200 for success.
+ */ 
+APR_DECLARE_OPTIONAL_FN(apr_status_t, balancer_manage,
+        (request_rec *, apr_table_t *params));
 
 /**
  * @param socket        socket to test

Modified: httpd/httpd/trunk/modules/proxy/mod_proxy_balancer.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/proxy/mod_proxy_balancer.c?rev=1887359&r1=1887358&r2=1887359&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/proxy/mod_proxy_balancer.c (original)
+++ httpd/httpd/trunk/modules/proxy/mod_proxy_balancer.c Tue Mar  9 08:39:21 2021
@@ -1378,7 +1378,7 @@ static int balancer_process_balancer_wor
 /*
  * Process a request for balancer or worker management from another module
  */
-static int balancer_manage(request_rec *r, apr_table_t *params)
+static apr_status_t balancer_manage(request_rec *r, apr_table_t *params)
 {
     void *sconf;
     proxy_server_conf *conf;
@@ -2061,7 +2061,7 @@ static void ap_proxy_balancer_register_h
     static const char *const aszPred[] = { "mpm_winnt.c", "mod_slotmem_shm.c", NULL};
     static const char *const aszPred2[] = { "mod_proxy.c", NULL};
      /* manager handler */
-    ap_register_provider(p, "balancer", "manager", "0", &balancer_manage);
+    APR_REGISTER_OPTIONAL_FN(balancer_manage);
     ap_hook_post_config(balancer_post_config, aszPred2, NULL, APR_HOOK_MIDDLE);
     ap_hook_pre_config(balancer_pre_config, NULL, NULL, APR_HOOK_MIDDLE);
     ap_hook_handler(balancer_handler, NULL, NULL, APR_HOOK_FIRST);