Skip to content

Commit

Permalink
Don't clear headers on redirect (#5973)
Browse files Browse the repository at this point in the history
Current implementation clears _headers when request was sent. If the
user added custom request headers, they will be lost and the redirected
request will not contain them. This commit changes the scope of cleanup
so that the headers survive redirects but don't survive connection
reuse.
  • Loading branch information
wojtekka committed Dec 14, 2021
1 parent f5b04b9 commit cb25fe8
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions libraries/HTTPClient/src/HTTPClient.cpp
Expand Up @@ -200,6 +200,7 @@ bool HTTPClient::begin(String url, const char* CAcert)
end();
}

clear();
_port = 443;
if (!beginInternal(url, "https")) {
return false;
Expand All @@ -226,6 +227,7 @@ bool HTTPClient::begin(String url)
end();
}

clear();
_port = 80;
if (!beginInternal(url, "http")) {
return begin(url, (const char*)NULL);
Expand All @@ -243,7 +245,6 @@ bool HTTPClient::begin(String url)
bool HTTPClient::beginInternal(String url, const char* expectedProtocol)
{
log_v("url: %s", url.c_str());
clear();

// check for : (http: or https:
int index = url.indexOf(':');
Expand Down Expand Up @@ -1212,8 +1213,8 @@ int HTTPClient::handleHeaderResponse()
return HTTPC_ERROR_NOT_CONNECTED;
}

clear();

_returnCode = 0;
_size = -1;
_canReuse = _reuse;

String transferEncoding;
Expand Down

0 comments on commit cb25fe8

Please sign in to comment.