From fb9be4619960bec6326e69280dd4234078752f72 Mon Sep 17 00:00:00 2001 From: Aki Tuomi Date: Fri, 18 Aug 2023 11:10:11 +0300 Subject: [PATCH] ws-auth.cc: Split apiServerZones to GET and POST variants Enables us to specify method routes for this later. --- pdns/ws-auth.cc | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) 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) { -- 2.47.2