diff options
author | Gabriel Marks <gabriel.marks@mongodb.com> | 2022-05-05 18:50:35 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2022-05-18 20:13:02 +0000 |
commit | b82d63b3529bab2abb2a4a6e6c688b9f31a105dc (patch) | |
tree | bdec11a7317476b284b01fd40ef4550e7405c1de | |
parent | b0475e2657c3351b25499971d3340f054ea85b98 (diff) | |
download | mongo-b82d63b3529bab2abb2a4a6e6c688b9f31a105dc.tar.gz |
SERVER-66111 Set default timeouts in HttpClient
-rw-r--r-- | src/mongo/util/net/http_client.h | 12 | ||||
-rw-r--r-- | src/mongo/util/net/http_client_curl.cpp | 10 | ||||
-rw-r--r-- | src/mongo/util/net/http_client_winhttp.cpp | 10 |
3 files changed, 10 insertions, 22 deletions
diff --git a/src/mongo/util/net/http_client.h b/src/mongo/util/net/http_client.h index e47d4ea9582..82799aee6d4 100644 --- a/src/mongo/util/net/http_client.h +++ b/src/mongo/util/net/http_client.h @@ -81,13 +81,17 @@ public: * Sets the maximum time to wait during the connection phase. * `0` indicates no timeout. */ - virtual void setConnectTimeout(Seconds timeout) = 0; + void setConnectTimeout(Seconds timeout) { + _connectTimeout = timeout; + } /** * Sets the maximum time to wait for the total request. * `0` indicates no timeout. */ - virtual void setTimeout(Seconds timeout) = 0; + void setTimeout(Seconds timeout) { + _timeout = timeout; + } /** * Perform a request to specified URL. @@ -137,6 +141,10 @@ public: */ static BSONObj getServerStatus(); +protected: + Seconds _timeout = kTotalRequestTimeout; + Seconds _connectTimeout = kConnectionTimeout; + private: DataBuilder requestSuccess(HttpMethod method, StringData url, ConstDataRange data) const { auto reply = request(method, url, data); diff --git a/src/mongo/util/net/http_client_curl.cpp b/src/mongo/util/net/http_client_curl.cpp index d8c2fc025c7..24c8b1946fc 100644 --- a/src/mongo/util/net/http_client_curl.cpp +++ b/src/mongo/util/net/http_client_curl.cpp @@ -602,14 +602,6 @@ public: _headers = headers; } - void setTimeout(Seconds timeout) final { - _timeout = timeout; - } - - void setConnectTimeout(Seconds timeout) final { - _connectTimeout = timeout; - } - HttpReply request(HttpMethod method, StringData url, ConstDataRange cdr = {nullptr, 0}) const final { @@ -711,8 +703,6 @@ private: HttpConnectionPool _pool; bool _allowInsecure{false}; - Seconds _timeout; - Seconds _connectTimeout; }; class HttpClientProviderImpl : public HttpClientProvider { diff --git a/src/mongo/util/net/http_client_winhttp.cpp b/src/mongo/util/net/http_client_winhttp.cpp index 9e877966167..33319d4a421 100644 --- a/src/mongo/util/net/http_client_winhttp.cpp +++ b/src/mongo/util/net/http_client_winhttp.cpp @@ -147,14 +147,6 @@ public: _headers = toNativeString(header.c_str()); } - void setConnectTimeout(Seconds timeout) final { - _connectTimeout = timeout; - } - - void setTimeout(Seconds timeout) final { - _timeout = timeout; - } - HttpReply request(HttpMethod methodType, StringData urlSD, ConstDataRange cdrData) const final { LPCWSTR method = L"GET"; LPVOID data = const_cast<void*>(static_cast<const void*>(cdrData.data())); @@ -318,8 +310,6 @@ public: private: bool _allowInsecureHTTP = false; std::wstring _headers; - Seconds _connectTimeout = kConnectionTimeout; - Seconds _timeout = kTotalRequestTimeout; }; class HttpClientProviderImpl : public HttpClientProvider { |