aboutsummaryrefslogtreecommitdiff
path: root/src/zenhttp/httpclient.cpp
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2025-10-17 11:36:49 +0200
committerGitHub Enterprise <[email protected]>2025-10-17 11:36:49 +0200
commit2e99697d4922f37e9304ec360602fed71c8a306e (patch)
tree5a0d241ae483ae870a8f4e7b7b548e11fc9f0c1d /src/zenhttp/httpclient.cpp
parentexclude .sym and .psym (#585) (diff)
downloadzen-2e99697d4922f37e9304ec360602fed71c8a306e.tar.xz
zen-2e99697d4922f37e9304ec360602fed71c8a306e.zip
add ability to abort http requests (#586)
* add abort-check function to httpclient
Diffstat (limited to 'src/zenhttp/httpclient.cpp')
-rw-r--r--src/zenhttp/httpclient.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/zenhttp/httpclient.cpp b/src/zenhttp/httpclient.cpp
index e4575701a..43e9fb468 100644
--- a/src/zenhttp/httpclient.cpp
+++ b/src/zenhttp/httpclient.cpp
@@ -28,16 +28,21 @@
namespace zen {
-extern HttpClientBase* CreateCprHttpClient(std::string_view BaseUri, const HttpClientSettings& ConnectionSettings);
+extern HttpClientBase* CreateCprHttpClient(std::string_view BaseUri,
+ const HttpClientSettings& ConnectionSettings,
+ std::function<bool()>&& CheckIfAbortFunction);
using namespace std::literals;
//////////////////////////////////////////////////////////////////////////
-HttpClientBase::HttpClientBase(std::string_view BaseUri, const HttpClientSettings& ConnectionSettings)
+HttpClientBase::HttpClientBase(std::string_view BaseUri,
+ const HttpClientSettings& ConnectionSettings,
+ std::function<bool()>&& CheckIfAbortFunction)
: m_Log(zen::logging::Get(ConnectionSettings.LogCategory))
, m_BaseUri(BaseUri)
, m_ConnectionSettings(ConnectionSettings)
+, m_CheckIfAbortFunction(std::move(CheckIfAbortFunction))
{
if (ConnectionSettings.SessionId == Oid::Zero)
{
@@ -200,13 +205,13 @@ HttpClient::Response::ThrowError(std::string_view ErrorPrefix)
//////////////////////////////////////////////////////////////////////////
-HttpClient::HttpClient(std::string_view BaseUri, const HttpClientSettings& ConnectionSettings)
+HttpClient::HttpClient(std::string_view BaseUri, const HttpClientSettings& ConnectionSettings, std::function<bool()>&& CheckIfAbortFunction)
: m_BaseUri(BaseUri)
, m_ConnectionSettings(ConnectionSettings)
{
m_SessionId = GetSessionIdString();
- m_Inner = CreateCprHttpClient(BaseUri, ConnectionSettings);
+ m_Inner = CreateCprHttpClient(BaseUri, ConnectionSettings, std::move(CheckIfAbortFunction));
}
HttpClient::~HttpClient()