From: Aki Tuomi Date: Fri, 18 Aug 2023 08:10:11 +0000 (+0300) Subject: ws-auth.cc: Split apiServerZones to GET and POST variants X-Git-Tag: auth-4.9.0-alpha1~42^2~16 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fb9be4619960bec6326e69280dd4234078752f72;p=thirdparty%2Fpdns.git ws-auth.cc: Split apiServerZones to GET and POST variants Enables us to specify method routes for this later. --- diff --git a/pdns/ws-auth.cc b/pdns/ws-auth.cc index 4ee6ac6e3b..9a719c1ead 100644 --- a/pdns/ws-auth.cc +++ b/pdns/ws-auth.cc @@ -1784,11 +1784,11 @@ static void apiServerAutoprimaries(HttpRequest* req, HttpResponse* resp) { } // create new zone -static void apiServerZonesPost(HttpRequest* req, HttpResponse* resp) { +static void apiServerZonesPOST(HttpRequest* req, HttpResponse* resp) { UeberBackend B; DNSSECKeeper dk(&B); DomainInfo di; - auto document = req->json(); + const auto& document = req->json(); DNSName zonename = apiNameToDNSName(stringFromJson(document, "name")); apiCheckNameAllowedCharacters(zonename.toString()); zonename.makeUsLowerCase(); @@ -1974,7 +1974,7 @@ static void apiServerZonesPost(HttpRequest* req, HttpResponse* resp) { } // list known zones -static void apiServerZonesGet(HttpRequest* req, HttpResponse* resp) { +static void apiServerZonesGET(HttpRequest* req, HttpResponse* resp) { UeberBackend B; DNSSECKeeper dk(&B); vector domains; @@ -2014,17 +2014,12 @@ static void apiServerZonesGet(HttpRequest* req, HttpResponse* resp) { } static void apiServerZones(HttpRequest* req, HttpResponse* resp) { - if (req->method == "POST") { - apiServerZonesPost(req, resp); - return; - } - - if (req->method == "GET") { - apiServerZonesGet(req, resp); - return; - } - - throw HttpMethodNotAllowedException(); + if (req->method == "GET") + apiServerZonesGET(req, resp); + else if (req->method == "POST") + apiServerZonesPOST(req, resp); + else + throw HttpMethodNotAllowedException(); } static void apiServerZoneDetail(HttpRequest* req, HttpResponse* resp) {