Unverified Commit 704b71da authored by Me No Dev's avatar Me No Dev Committed by GitHub

Fix header parsing

fixes #4454

closes #4455
parent 7c057217
...@@ -1186,6 +1186,7 @@ int HTTPClient::handleHeaderResponse() ...@@ -1186,6 +1186,7 @@ int HTTPClient::handleHeaderResponse()
_transferEncoding = HTTPC_TE_IDENTITY; _transferEncoding = HTTPC_TE_IDENTITY;
unsigned long lastDataTime = millis(); unsigned long lastDataTime = millis();
bool firstLine = true;
while(connected()) { while(connected()) {
size_t len = _client->available(); size_t len = _client->available();
...@@ -1197,11 +1198,12 @@ int HTTPClient::handleHeaderResponse() ...@@ -1197,11 +1198,12 @@ int HTTPClient::handleHeaderResponse()
log_v("RX: '%s'", headerLine.c_str()); log_v("RX: '%s'", headerLine.c_str());
if(headerLine.startsWith("HTTP/1.")) { if(firstLine) {
if(_canReuse) { if(_canReuse && headerLine.startsWith("HTTP/1.")) {
_canReuse = (headerLine[sizeof "HTTP/1." - 1] != '0'); _canReuse = (headerLine[sizeof "HTTP/1." - 1] != '0');
} }
_returnCode = headerLine.substring(9, headerLine.indexOf(' ', 9)).toInt(); int codePos = headerLine.indexOf(' ') + 1;
_returnCode = headerLine.substring(codePos, headerLine.indexOf(' ', codePos)).toInt();
} else if(headerLine.indexOf(':')) { } else if(headerLine.indexOf(':')) {
String headerName = headerLine.substring(0, headerLine.indexOf(':')); String headerName = headerLine.substring(0, headerLine.indexOf(':'));
String headerValue = headerLine.substring(headerLine.indexOf(':') + 1); String headerValue = headerLine.substring(headerLine.indexOf(':') + 1);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment