From 8a039705611bf99bf82ce2cd67836f9ce8726244 Mon Sep 17 00:00:00 2001 From: Paulo Date: Sat, 17 Jul 2021 21:16:46 -0300 Subject: [PATCH 1/2] Allow control over authorization String allocation --- .../ESP8266HTTPClient/src/ESP8266HTTPClient.cpp | 15 ++++++++++++--- .../ESP8266HTTPClient/src/ESP8266HTTPClient.h | 1 + 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.cpp b/libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.cpp index c933b5c21f..6747e683d8 100644 --- a/libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.cpp +++ b/libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.cpp @@ -281,12 +281,21 @@ void HTTPClient::setAuthorization(const char * user, const char * password) */ void HTTPClient::setAuthorization(const char * auth) { - if(auth) { - _base64Authorization = auth; - _base64Authorization.replace(String('\n'), emptyString); + if (auth) { + setAuthorization(String(auth)); } } +/** + * set the Authorizatio for the http request + * @param auth String base64 + */ +void HTTPClient::setAuthorization(String auth) +{ + _base64Authorization = std::move(auth); + _base64Authorization.replace(String('\n'), emptyString); +} + /** * set the timeout for the TCP connection * @param timeout unsigned int diff --git a/libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.h b/libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.h index 3605a807f3..0730f24eea 100644 --- a/libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.h +++ b/libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.h @@ -176,6 +176,7 @@ class HTTPClient void setUserAgent(const String& userAgent); void setAuthorization(const char * user, const char * password); void setAuthorization(const char * auth); + void setAuthorization(String auth); void setTimeout(uint16_t timeout); // Redirections From 32174e962c6d80e14be773daaaf29c441d80fd75 Mon Sep 17 00:00:00 2001 From: Paulo Date: Sat, 17 Jul 2021 21:24:09 -0300 Subject: [PATCH 2/2] Fix typo --- libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.cpp b/libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.cpp index 6747e683d8..33bce7c091 100644 --- a/libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.cpp +++ b/libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.cpp @@ -276,7 +276,7 @@ void HTTPClient::setAuthorization(const char * user, const char * password) } /** - * set the Authorizatio for the http request + * set the Authorization for the http request * @param auth const char * base64 */ void HTTPClient::setAuthorization(const char * auth) @@ -287,7 +287,7 @@ void HTTPClient::setAuthorization(const char * auth) } /** - * set the Authorizatio for the http request + * set the Authorization for the http request * @param auth String base64 */ void HTTPClient::setAuthorization(String auth)