fix api v1 mgmt/health (#15806)
Timotej S committed
Aug 14, 2023 at 19:33 UTC
ea66e7ced4a9a33745b6a29e6c7dece41090e784
1 file changed
+20
-1
web/api/web_api_v1.c
+20
-1
@@ -1524,6 +1524,25 @@ int web_client_api_request_v1_dbengine_stats(RRDHOST *host __maybe_unused, struc
1524
}
1525
#endif
1526
1527
+#define HLT_MGM "manage/health"
1528
+int web_client_api_request_v1_mgmt(RRDHOST *host, struct web_client *w, char *url) {
1529
+ const char *haystack = buffer_tostring(w->url_path_decoded);
1530
+ char *needle;
1531
+
1532
+ buffer_flush(w->response.data);
1533
+
1534
+ if ((needle = strstr(haystack, HLT_MGM)) == NULL) {
1535
+ buffer_strcat(w->response.data, "Invalid management request. Curently only 'health' is supported.");
1536
+ return HTTP_RESP_NOT_FOUND;
1537
+ }
1538
+ needle += strlen(HLT_MGM);
1539
+ if (*needle != '\0') {
1540
+ buffer_strcat(w->response.data, "Invalid management request. Curently only 'health' is supported.");
1541
+ return HTTP_RESP_NOT_FOUND;
1542
+ }
1543
+ return web_client_api_request_v1_mgmt_health(host, w, url);
1544
+}
1545
+
1546
static struct web_api_command api_commands_v1[] = {
1547
{ "info", 0, WEB_CLIENT_ACL_DASHBOARD_ACLK_WEBRTC, web_client_api_request_v1_info, 0 },
1548
{ "data", 0, WEB_CLIENT_ACL_DASHBOARD_ACLK_WEBRTC, web_client_api_request_v1_data, 0 },
@@ -1550,7 +1569,7 @@ static struct web_api_command api_commands_v1[] = {
1569
// { "ml_models", 0, WEB_CLIENT_ACL_DASHBOARD, web_client_api_request_v1_ml_models },
1570
#endif
1571
1553
- {"manage/health", 0, WEB_CLIENT_ACL_MGMT | WEB_CLIENT_ACL_ACLK, web_client_api_request_v1_mgmt_health, 0 },
1572
+ {"manage", 0, WEB_CLIENT_ACL_MGMT | WEB_CLIENT_ACL_ACLK, web_client_api_request_v1_mgmt, 1 },
1573
{ "aclk", 0, WEB_CLIENT_ACL_DASHBOARD_ACLK_WEBRTC, web_client_api_request_v1_aclk_state, 0 },
1574
{ "metric_correlations", 0, WEB_CLIENT_ACL_DASHBOARD_ACLK_WEBRTC, web_client_api_request_v1_metric_correlations, 0 },
1575
{ "weights", 0, WEB_CLIENT_ACL_DASHBOARD_ACLK_WEBRTC, web_client_api_request_v1_weights, 0 },