]> granicus.if.org Git - pdns/commitdiff
API: port /server/:server/config to json11
authorChristian Hofstaedtler <christian.hofstaedtler@deduktiva.com>
Mon, 28 Dec 2015 00:54:27 +0000 (01:54 +0100)
committerChristian Hofstaedtler <christian.hofstaedtler@deduktiva.com>
Tue, 29 Dec 2015 22:29:16 +0000 (23:29 +0100)
pdns/ws-api.cc

index 780878a4a8dae435ec964651c5bbec7f9d37c796..a2e169586396c470fa121da4dfeb0b92d5af09c4 100644 (file)
@@ -114,25 +114,18 @@ void apiServerConfig(HttpRequest* req, HttpResponse* resp) {
 
   vector<string> items = ::arg().list();
   string value;
-  Document doc;
-  doc.SetArray();
-  for(const string& item :  items) {
-    Value jitem;
-    jitem.SetObject();
-    jitem.AddMember("type", "ConfigSetting", doc.GetAllocator());
-
-    Value jname(item.c_str(), doc.GetAllocator());
-    jitem.AddMember("name", jname, doc.GetAllocator());
-
+  Json::array doc;
+  for(const string& item : items) {
     if(item.find("password") != string::npos)
       value = "***";
     else
       value = ::arg()[item];
 
-    Value jvalue(value.c_str(), doc.GetAllocator());
-    jitem.AddMember("value", jvalue, doc.GetAllocator());
-
-    doc.PushBack(jitem, doc.GetAllocator());
+    doc.push_back(Json::object {
+      { "type", "ConfigSetting" },
+      { "name", item },
+      { "value", value },
+    });
   }
   resp->setBody(doc);
 }