::arg().set("webserver-port","Port of webserver/API to listen on")="8081";
::arg().set("webserver-password","Password required for accessing the webserver")="";
::arg().set("webserver-allow-from","Webserver/API access is only allowed from these subnets")="127.0.0.1,::1";
+ ::arg().set("webserver-log-level","Amount of logging in the webserver (none, common, detailed)")="common";
::arg().setSwitch("do-ipv6-additional-processing", "Do AAAA additional processing")="yes";
::arg().setSwitch("query-logging","Hint backends that queries should be logged")="no";
Detailed = 20, // The full request headers and body, and the full response headers and body
};
+ void setLogLevel(const string& level) {
+ if (level == "none") {
+ d_loglevel = LogLevel::None;
+ return;
+ }
+
+ if (level == "common") {
+ d_loglevel = LogLevel::Common;
+ return;
+ }
+
+ if (level == "detailed") {
+ d_loglevel = LogLevel::Detailed;
+ return;
+ }
+
+ throw PDNSException("Unknown webserver log level: " + level);
+ }
+
void setLogLevel(const LogLevel level) {
d_loglevel = level;
};
d_ws = new WebServer(arg()["webserver-address"], arg().asNum("webserver-port"));
d_ws->setApiKey(arg()["api-key"]);
d_ws->setPassword(arg()["webserver-password"]);
+ d_ws->setLogLevel(arg()["webserver-log-level"]);
NetmaskGroup acl;
acl.toMasks(::arg()["webserver-allow-from"]);