Skip to content

Commit d81478b

Browse files
authored
HTTPClient preserves headers over redirects (#3173) (#3175)
1 parent 0e1b0fa commit d81478b

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

libraries/HTTPClient/src/HTTPClient.cpp

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -578,14 +578,23 @@ int HTTPClient::sendRequest(const char * type, const uint8_t * payload, size_t s
578578
int code;
579579
bool redirect = false;
580580
uint16_t redirectCount = 0;
581+
String headers;
581582
do {
582-
// wipe out any existing headers from previous request
583+
// wipe out any existing response headers from previous request
583584
for (size_t i = 0; i < _headerKeysCount; i++) {
584585
if (_currentHeaders[i].value.length() > 0) {
585586
_currentHeaders[i].value = "";
586587
}
587588
}
588589

590+
// keep request headers for redirects
591+
// fixes #3173
592+
if (redirect) {
593+
_headers = headers;
594+
} else {
595+
headers = _headers;
596+
}
597+
589598
DEBUG_HTTPCLIENT("[HTTP-Client][sendRequest] type: '%s' redirCount: %d\n", type, redirectCount);
590599

591600
// connect to server

0 commit comments

Comments
 (0)