From: Aki Tuomi Date: Wed, 23 Aug 2023 12:38:18 +0000 (+0300) Subject: ws-recursor.cc: Add methods to routes X-Git-Tag: auth-4.9.0-alpha1~42^2~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=464b26431ce3b1b1a96631016250a4e1131f2ca1;p=thirdparty%2Fpdns.git ws-recursor.cc: Add methods to routes --- diff --git a/pdns/recursordist/ws-recursor.cc b/pdns/recursordist/ws-recursor.cc index e02ec1a340..feabb16dd0 100644 --- a/pdns/recursordist/ws-recursor.cc +++ b/pdns/recursordist/ws-recursor.cc @@ -1303,27 +1303,32 @@ RecursorWebServer::RecursorWebServer(FDMultiplexer* fdm) // legacy dispatch d_ws->registerApiHandler( - "/jsonstat", [](HttpRequest* req, HttpResponse* resp) { jsonstat(req, resp); }, true); - d_ws->registerApiHandler("/api/v1/servers/localhost/cache/flush", apiServerCacheFlush); - d_ws->registerApiHandler("/api/v1/servers/localhost/config/allow-from", apiServerConfigAllowFrom); - d_ws->registerApiHandler("/api/v1/servers/localhost/config/allow-notify-from", &apiServerConfigAllowNotifyFrom); - d_ws->registerApiHandler("/api/v1/servers/localhost/config", apiServerConfig); - d_ws->registerApiHandler("/api/v1/servers/localhost/rpzstatistics", apiServerRPZStats); - d_ws->registerApiHandler("/api/v1/servers/localhost/search-data", apiServerSearchData); - d_ws->registerApiHandler("/api/v1/servers/localhost/statistics", apiServerStatistics, true); - d_ws->registerApiHandler("/api/v1/servers/localhost/zones/", apiServerZoneDetail); - d_ws->registerApiHandler("/api/v1/servers/localhost/zones", apiServerZones); - d_ws->registerApiHandler("/api/v1/servers/localhost", apiServerDetail, true); - d_ws->registerApiHandler("/api/v1/servers", apiServer); - d_ws->registerApiHandler("/api/v1", apiDiscoveryV1); - d_ws->registerApiHandler("/api", apiDiscovery); + "/jsonstat", [](HttpRequest* req, HttpResponse* resp) { jsonstat(req, resp); }, "GET", true); + d_ws->registerApiHandler("/api/v1/servers/localhost/cache/flush", apiServerCacheFlush, "PUT"); + d_ws->registerApiHandler("/api/v1/servers/localhost/config/allow-from", apiServerConfigAllowFrom, "PUT"); + d_ws->registerApiHandler("/api/v1/servers/localhost/config/allow-from", apiServerConfigAllowFrom, "GET"); + d_ws->registerApiHandler("/api/v1/servers/localhost/config/allow-notify-from", apiServerConfigAllowNotifyFrom, "GET"); + d_ws->registerApiHandler("/api/v1/servers/localhost/config/allow-notify-from", apiServerConfigAllowNotifyFrom, "PUT"); + d_ws->registerApiHandler("/api/v1/servers/localhost/config", apiServerConfig, "GET"); + d_ws->registerApiHandler("/api/v1/servers/localhost/rpzstatistics", apiServerRPZStats, "GET"); + d_ws->registerApiHandler("/api/v1/servers/localhost/search-data", apiServerSearchData, "GET"); + d_ws->registerApiHandler("/api/v1/servers/localhost/statistics", apiServerStatistics, "GET", true); + d_ws->registerApiHandler("/api/v1/servers/localhost/zones/", apiServerZoneDetail, "GET"); + d_ws->registerApiHandler("/api/v1/servers/localhost/zones/", apiServerZoneDetail, "PUT"); + d_ws->registerApiHandler("/api/v1/servers/localhost/zones/", apiServerZoneDetail, "DELETE"); + d_ws->registerApiHandler("/api/v1/servers/localhost/zones", apiServerZones, "GET"); + d_ws->registerApiHandler("/api/v1/servers/localhost/zones", apiServerZones, "POST"); + d_ws->registerApiHandler("/api/v1/servers/localhost", apiServerDetail, "GET", true); + d_ws->registerApiHandler("/api/v1/servers", apiServer, "GET"); + d_ws->registerApiHandler("/api/v1", apiDiscoveryV1, "GET"); + d_ws->registerApiHandler("/api", apiDiscovery, "GET"); for (const auto& url : g_urlmap) { - d_ws->registerWebHandler("/" + url.first, serveStuff); + d_ws->registerWebHandler("/" + url.first, serveStuff, "GET"); } - d_ws->registerWebHandler("/", serveStuff); - d_ws->registerWebHandler("/metrics", prometheusMetrics); + d_ws->registerWebHandler("/", serveStuff, "GET"); + d_ws->registerWebHandler("/metrics", prometheusMetrics, "GET"); d_ws->go(); }