diff options
| author | Dan Engelbrecht <[email protected]> | 2025-10-20 14:50:27 +0200 |
|---|---|---|
| committer | GitHub Enterprise <[email protected]> | 2025-10-20 14:50:27 +0200 |
| commit | e36391c0f19fe8abcb9c1cbabfd9c69248079c76 (patch) | |
| tree | 0c7357ab73ab7b8b755e442454b7741293fbad4d /src/zenhttp/clients/httpclientcpr.h | |
| parent | Mr/dashboard stats summary tweak (#592) (diff) | |
| download | zen-e36391c0f19fe8abcb9c1cbabfd9c69248079c76.tar.xz zen-e36391c0f19fe8abcb9c1cbabfd9c69248079c76.zip | |
silence warnings in CprHttpClient if request was aborted (#591)
* silence warnings in CprHttpClient if request was aborted
* refactor CprHttpClient
Diffstat (limited to 'src/zenhttp/clients/httpclientcpr.h')
| -rw-r--r-- | src/zenhttp/clients/httpclientcpr.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/zenhttp/clients/httpclientcpr.h b/src/zenhttp/clients/httpclientcpr.h index 26cc59d23..94d57fb43 100644 --- a/src/zenhttp/clients/httpclientcpr.h +++ b/src/zenhttp/clients/httpclientcpr.h @@ -146,6 +146,23 @@ private: std::vector<cpr::Session*> m_Sessions; void ReleaseSession(cpr::Session*); + + cpr::Response DoWithRetry(std::string_view SessionId, + std::function<cpr::Response()>&& Func, + std::unique_ptr<detail::TempPayloadFile>& PayloadFile); + cpr::Response DoWithRetry( + std::string_view SessionId, + std::function<cpr::Response()>&& Func, + std::function<bool(cpr::Response& Result)>&& Validate = [](cpr::Response&) { return true; }); + + bool ValidatePayload(cpr::Response& Response, std::unique_ptr<detail::TempPayloadFile>& PayloadFile); + + HttpClient::Response CommonResponse(std::string_view SessionId, cpr::Response&& HttpResponse, IoBuffer&& Payload); + + HttpClient::Response ResponseWithPayload(std::string_view SessionId, + cpr::Response& HttpResponse, + const HttpResponseCode WorkResponseCode, + IoBuffer&& Payload); }; } // namespace zen |