diff --git a/src/asynchttprequest.cpp b/src/asynchttprequest.cpp index 1c433c3..621df9c 100644 --- a/src/asynchttprequest.cpp +++ b/src/asynchttprequest.cpp @@ -150,14 +150,23 @@ std::expected AsyncHttpRequest::createClient(std::string_view return std::unexpected(msg); } - esp_http_client_config_t config{}; - config.url = url.data(); - config.max_authorization_retries = 1; - config.method = method; - config.timeout_ms = timeout_ms; - config.event_handler = staticHttpEventHandler; - config.user_data = this; - config.is_async = true; + esp_http_client_config_t config { + .url = url.data(), + .method = method, + .timeout_ms = timeout_ms, + .max_authorization_retries = 1, + .event_handler = staticHttpEventHandler, + .user_data = this, + .is_async = true, + }; + + if (clientAuth) + { + config.client_key_pem = clientAuth->clientKey.data(); + config.client_key_len = clientAuth->clientKey.size(); + config.client_cert_pem = clientAuth->clientCert.data(); + config.client_cert_len = clientAuth->clientCert.size(); + } m_client = espcpputils::http_client{&config}; @@ -264,8 +273,7 @@ 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, std::optional timeout_ms, - const std::optional &clientAuth) + std::string_view requestBody, std::optional timeout_ms) { if (!m_taskHandle) { diff --git a/src/asynchttprequest.h b/src/asynchttprequest.h index 05c628c..aa21e5c 100644 --- a/src/asynchttprequest.h +++ b/src/asynchttprequest.h @@ -43,8 +43,7 @@ public: std::expected retry(std::optional url = std::nullopt, std::optional method = std::nullopt, const std::map &requestHeaders = {}, - std::string_view requestBody = {}, std::optional timeout_ms = {}, - const std::optional &clientAuth = {}); + std::string_view requestBody = {}, std::optional timeout_ms = {}); std::expected abort(); bool inProgress() const;