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-20 20:02:30 +0000 |
commit | a8f474bb0428b37efc4e48f74a7b881f5ef49213 (patch) | |
tree | 247b5e85f069d444efe5ad32a446e7410d10f4e6 | |
parent | 9853be92a5f34ba722145a185c29542a02563f7b (diff) | |
download | mongo-a8f474bb0428b37efc4e48f74a7b881f5ef49213.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 6ce87c1a80d..fa1834c8bde 100644 --- a/src/mongo/util/net/http_client_curl.cpp +++ b/src/mongo/util/net/http_client_curl.cpp @@ -596,14 +596,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 { @@ -705,8 +697,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 d972e60065e..6fedd870de2 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 { |