Value server;
fillServerDetail(server, doc.GetAllocator());
doc.PushBack(server, doc.GetAllocator());
- resp->body = makeStringFromDocument(doc);
+ resp->setBody(doc);
}
void apiServerDetail(HttpRequest* req, HttpResponse* resp) {
Document doc;
fillServerDetail(doc, doc.GetAllocator());
- resp->body = makeStringFromDocument(doc);
+ resp->setBody(doc);
}
void apiServerConfig(HttpRequest* req, HttpResponse* resp) {
doc.PushBack(jitem, doc.GetAllocator());
}
- resp->body = makeStringFromDocument(doc);
+ resp->setBody(doc);
}
static string logGrep(const string& q, const string& fname, const string& prefix)
doc.PushBack(jitem, doc.GetAllocator());
}
- resp->body = makeStringFromDocument(doc);
+ resp->setBody(doc);
}
resp->body = ret.str();
}
-static string getZone(const string& zonename) {
+static void fillZone(const string& zonename, HttpResponse* resp) {
UeberBackend B;
DomainInfo di;
if(!B.getDomainInfo(zonename, di))
- return returnJsonError("Could not find domain '"+zonename+"'");
+ throw ApiException("Could not find domain '"+zonename+"'");
Document doc;
doc.SetObject();
}
doc.AddMember("records", records, doc.GetAllocator());
- return makeStringFromDocument(doc);
+ resp->setBody(doc);
}
void productServerStatisticsFetch(map<string,string>& out)
di.backend->setKind(zonename, DomainInfo::stringToKind(kind));
di.backend->setMaster(zonename, master);
- resp->body = getZone(zonename);
+ fillZone(zonename, resp);
return;
}
jdi.AddMember("last_check", (unsigned int) di.last_check, doc.GetAllocator());
doc.PushBack(jdi, doc.GetAllocator());
}
- resp->body = makeStringFromDocument(doc);
+ resp->setBody(doc);
}
static void apiServerZoneDetail(HttpRequest* req, HttpResponse* resp) {
di.backend->setKind(zonename, DomainInfo::stringToKind(stringFromJson(document, "kind")));
di.backend->setMaster(zonename, master);
- resp->body = getZone(zonename);
+ fillZone(zonename, resp);
return;
}
else if(req->method == "DELETE") {
if(req->method != "GET")
throw HttpMethodNotAllowedException();
- resp->body = getZone(zonename);
+ fillZone(zonename, resp);
}
static void apiServerZoneRRset(HttpRequest* req, HttpResponse* resp) {
doc.PushBack(jzone, doc.GetAllocator());
}
- resp->body = makeStringFromDocument(doc);
+ resp->setBody(doc);
return;
}
else if(command == "zone") {
root.AddMember("records", records, doc.GetAllocator());
doc.AddMember("zone", root, doc.GetAllocator());
- resp->body = makeStringFromDocument(doc);
+ resp->setBody(doc);
return;
} else {
resp->body = returnJsonError("Could not find domain '"+arg_zone+"'");