diff options
Diffstat (limited to 'src/zenserver/upstream')
| -rw-r--r-- | src/zenserver/upstream/jupiter.cpp | 9 | ||||
| -rw-r--r-- | src/zenserver/upstream/jupiter.h | 2 |
2 files changed, 9 insertions, 2 deletions
diff --git a/src/zenserver/upstream/jupiter.cpp b/src/zenserver/upstream/jupiter.cpp index e7bb2cbcf..0f810ea2b 100644 --- a/src/zenserver/upstream/jupiter.cpp +++ b/src/zenserver/upstream/jupiter.cpp @@ -46,12 +46,16 @@ namespace detail { cpr::Session& GetSession() { return m_Session; } - void Reset(std::chrono::milliseconds ConnectTimeout, std::chrono::milliseconds Timeout) + void Reset(std::chrono::milliseconds ConnectTimeout, std::chrono::milliseconds Timeout, bool AssumeHttp2) { m_Session.SetBody({}); m_Session.SetHeader({}); m_Session.SetConnectTimeout(ConnectTimeout); m_Session.SetTimeout(Timeout); + if (AssumeHttp2) + { + m_Session.SetHttpVersion(cpr::HttpVersion{cpr::HttpVersionCode::VERSION_2_0_PRIOR_KNOWLEDGE}); + } } private: @@ -912,6 +916,7 @@ CloudCacheClient::CloudCacheClient(const CloudCacheClientOptions& Options, std:: , m_ConnectTimeout(Options.ConnectTimeout) , m_Timeout(Options.Timeout) , m_TokenProvider(std::move(TokenProvider)) +, m_AssumeHttp2(Options.AssumeHttp2) { ZEN_ASSERT(m_TokenProvider.get() != nullptr); } @@ -958,7 +963,7 @@ CloudCacheClient::AllocSessionState() State = new detail::CloudCacheSessionState(*this); } - State->Reset(m_ConnectTimeout, m_Timeout); + State->Reset(m_ConnectTimeout, m_Timeout, m_AssumeHttp2); if (IsTokenValid == false) { diff --git a/src/zenserver/upstream/jupiter.h b/src/zenserver/upstream/jupiter.h index dd50f75e1..3d965e846 100644 --- a/src/zenserver/upstream/jupiter.h +++ b/src/zenserver/upstream/jupiter.h @@ -175,6 +175,7 @@ struct CloudCacheClientOptions std::string_view ComputeCluster; std::chrono::milliseconds ConnectTimeout{5000}; std::chrono::milliseconds Timeout{}; + bool AssumeHttp2 = false; }; /** @@ -203,6 +204,7 @@ private: std::chrono::milliseconds m_ConnectTimeout{}; std::chrono::milliseconds m_Timeout{}; std::unique_ptr<CloudCacheTokenProvider> m_TokenProvider; + bool m_AssumeHttp2; RwLock m_SessionStateLock; std::list<detail::CloudCacheSessionState*> m_SessionStateCache; |