From 9a889c5577f47a89938c36d5c772402818152e10 Mon Sep 17 00:00:00 2001 From: Christian Hofstaedtler Date: Fri, 27 Sep 2013 18:04:06 +0200 Subject: [PATCH] expose zone DELETE in JSON webserver --- pdns/ws.cc | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/pdns/ws.cc b/pdns/ws.cc index c576fef895..8b1daadae5 100644 --- a/pdns/ws.cc +++ b/pdns/ws.cc @@ -545,6 +545,24 @@ static string json_dispatch(const string& method, const string& post, varmap_t& sd.db->commitTransaction(); return getZone(zonename); + } else if (method == "DELETE") { + // delete + UeberBackend B; + SOAData sd; + DomainInfo di; + sd.db = (DNSBackend*)-1; + if(!B.getDomainInfo(zonename, di) || !di.backend) { + map err; + err["error"] = "Deleting domain '"+zonename+"' failed: domain does not exist"; + return returnJSONObject(err); + } + if (!di.backend->deleteDomain(zonename)) { + map err; + err["error"] = "Deleting domain '"+zonename+"' failed: backend delete failed/unsupported"; + return returnJSONObject(err); + } + map success; // empty success object + return returnJSONObject(success); } else { map err; err["error"] = "Method not allowed"; -- 2.47.2