MINOR: check: add agent-send server parameter
Causes HAProxy to emit a static string to the agent on every check,
so that you can independently control multiple services running
behind a single agent port.
diff --git a/src/server.c b/src/server.c
index c92623d..224d536 100644
--- a/src/server.c
+++ b/src/server.c
@@ -984,6 +984,9 @@
newsrv->check.downinter = curproxy->defsrv.check.downinter;
newsrv->agent.use_ssl = curproxy->defsrv.agent.use_ssl;
newsrv->agent.port = curproxy->defsrv.agent.port;
+ if (curproxy->defsrv.agent.send_string != NULL)
+ newsrv->agent.send_string = strdup(curproxy->defsrv.agent.send_string);
+ newsrv->agent.send_string_len = curproxy->defsrv.agent.send_string_len;
newsrv->agent.inter = curproxy->defsrv.agent.inter;
newsrv->agent.fastinter = curproxy->defsrv.agent.fastinter;
newsrv->agent.downinter = curproxy->defsrv.agent.downinter;
@@ -1052,6 +1055,14 @@
newsrv->agent.port = atol(args[cur_arg + 1]);
cur_arg += 2;
}
+ else if (!strcmp(args[cur_arg], "agent-send")) {
+ global.maxsock++;
+ free(newsrv->agent.send_string);
+ newsrv->agent.send_string_len = strlen(args[cur_arg + 1]);
+ newsrv->agent.send_string = calloc(1, newsrv->agent.send_string_len + 1);
+ memcpy(newsrv->agent.send_string, args[cur_arg + 1], newsrv->agent.send_string_len);
+ cur_arg += 2;
+ }
else if (!defsrv && !strcmp(args[cur_arg], "cookie")) {
newsrv->cookie = strdup(args[cur_arg + 1]);
newsrv->cklen = strlen(args[cur_arg + 1]);