diff --git a/src/asynchttprequest.cpp b/src/asynchttprequest.cpp index 06fac0a..1c433c3 100644 --- a/src/asynchttprequest.cpp +++ b/src/asynchttprequest.cpp @@ -140,7 +140,8 @@ bool AsyncHttpRequest::taskRunning() const } std::expected AsyncHttpRequest::createClient(std::string_view url, esp_http_client_method_t method, - int timeout_ms) + int timeout_ms, + const std::optional &clientAuth) { if (m_client) { @@ -195,9 +196,10 @@ bool AsyncHttpRequest::hasClient() const } std::expected AsyncHttpRequest::start(std::string_view url, - esp_http_client_method_t method, - const std::map &requestHeaders, - std::string_view requestBody, int timeout_ms) + esp_http_client_method_t method, + const std::map &requestHeaders, + std::string_view requestBody, int timeout_ms, + const std::optional &clientAuth) { if (!m_taskHandle) { @@ -218,7 +220,7 @@ std::expected AsyncHttpRequest::start(std::string_view url, m_client = {}; } - if (auto result = createClient(url, method, timeout_ms); !result) + if (auto result = createClient(url, method, timeout_ms, clientAuth); !result) return std::unexpected(std::move(result).error()); for (auto iter = std::cbegin(requestHeaders); iter != std::cend(requestHeaders); iter++) @@ -260,13 +262,10 @@ std::expected AsyncHttpRequest::start(std::string_view url, } std::expected AsyncHttpRequest::retry(std::optional url, - std::optional method, - const std::map &requestHeaders, - std::string_view requestBody -#ifndef OLD_IDF - , std::optional timeout_ms -#endif - ) + std::optional method, + const std::map &requestHeaders, + std::string_view requestBody, std::optional timeout_ms, + const std::optional &clientAuth) { if (!m_taskHandle) { @@ -304,7 +303,6 @@ std::expected AsyncHttpRequest::retry(std::optional AsyncHttpRequest::retry(std::optionalfirst, iter->second); result != ESP_OK) diff --git a/src/asynchttprequest.h b/src/asynchttprequest.h index 37d42f8..05c628c 100644 --- a/src/asynchttprequest.h +++ b/src/asynchttprequest.h @@ -12,10 +12,11 @@ #include #include -// local includes -#include "wrappers/http_client.h" -#include "wrappers/event_group.h" -#include "taskutils.h" +// 3rdparty lib includes +#include +#include +#include +#include class AsyncHttpRequest { @@ -28,23 +29,22 @@ public: bool taskRunning() const; std::expected createClient(std::string_view url, - esp_http_client_method_t method = HTTP_METHOD_GET, - int timeout_ms = 0); + esp_http_client_method_t method = HTTP_METHOD_GET, + int timeout_ms = 0, + const std::optional &clientAuth = {}); std::expected deleteClient(); bool hasClient() const; std::expected start(std::string_view url, - esp_http_client_method_t method = HTTP_METHOD_GET, - const std::map &requestHeaders = {}, - std::string_view requestBody = {}, int timeout_ms = 0); + esp_http_client_method_t method = HTTP_METHOD_GET, + const std::map &requestHeaders = {}, + std::string_view requestBody = {}, int timeout_ms = 0, + const std::optional &clientAuth = {}); std::expected retry(std::optional url = std::nullopt, - std::optional method = std::nullopt, - const std::map &requestHeaders = {}, - std::string_view requestBody = {} -#ifndef OLD_IDF - ,std::optional timeout_ms = {} -#endif - ); + std::optional method = std::nullopt, + const std::map &requestHeaders = {}, + std::string_view requestBody = {}, std::optional timeout_ms = {}, + const std::optional &clientAuth = {}); std::expected abort(); bool inProgress() const;