* :ref:`setting-webserver-port`: Port to bind the webserver to.
* :ref:`setting-webserver-allow-from`: Netmasks that are allowed to connect to the webserver
* :ref:`setting-webserver-max-bodysize`: Maximum request/response body size in megabytes
+* :ref:`setting-webserver-connection-timeout`: Request/response timeout in seconds
Metrics Endpoint
Maximum request/response body size in megabytes.
+.. _setting-webserver-connection-timeout:
+
+``webserver-connection-timeout``
+--------------------------------
+.. versionadded:: 4.8.5
+
+- Integer
+- Default: 5
+
+Request/response timeout in seconds.
+
.. _setting-webserver-password:
``webserver-password``
::arg().set("webserver-allow-from", "Webserver/API access is only allowed from these subnets") = "127.0.0.1,::1";
::arg().set("webserver-loglevel", "Amount of logging in the webserver (none, normal, detailed)") = "normal";
::arg().set("webserver-max-bodysize", "Webserver/API maximum request/response body size in megabytes") = "2";
+ ::arg().set("webserver-connection-timeout", "Webserver/API request/response timeout in seconds") = "5";
::arg().setSwitch("webserver-hash-plaintext-credentials", "Whether to hash passwords and api keys supplied in plaintext, to prevent keeping the plaintext version in memory at runtime") = "no";
::arg().setSwitch("query-logging", "Hint backends that queries should be logged") = "no";
YaHTTP::AsyncRequestLoader yarl;
yarl.initialize(&req);
req.max_request_size=d_maxbodysize;
- int timeout = 5;
+ int timeout = d_connectiontimeout;
client->setNonBlocking();
try {
d_listenaddress(std::move(listenaddress)),
d_port(port),
d_server(nullptr),
- d_maxbodysize(2*1024*1024)
+ d_maxbodysize(2*1024*1024),
+ d_connectiontimeout(5)
{
YaHTTP::Router::Map("OPTIONS", "/<*url>", [](YaHTTP::Request *req, YaHTTP::Response *resp) {
// look for url in routes
d_maxbodysize = s * 1024 * 1024;
}
+ void setConnectionTimeout(int t) { // in seconds
+ d_connectiontimeout = t;
+ }
+
void setACL(const NetmaskGroup &nmg) {
d_acl = nmg;
}
std::unique_ptr<CredentialsHolder> d_webserverPassword{nullptr};
ssize_t d_maxbodysize; // in bytes
+ int d_connectiontimeout; // in seconds
NetmaskGroup d_acl;
d_ws->setACL(acl);
d_ws->setMaxBodySize(::arg().asNum("webserver-max-bodysize"));
+ d_ws->setConnectionTimeout(::arg().asNum("webserver-connection-timeout"));
d_ws->bind();
}