diff --git a/libraries/ESP8266httpClient/src/ESP8266httpClient.cpp b/libraries/ESP8266httpClient/src/ESP8266httpClient.cpp index 117901d40..d7f5ec80d 100644 --- a/libraries/ESP8266httpClient/src/ESP8266httpClient.cpp +++ b/libraries/ESP8266httpClient/src/ESP8266httpClient.cpp @@ -386,6 +386,9 @@ int httpClient::handleHeaderResponse() { return HTTPC_ERROR_NOT_CONNECTED; } + _returnCode = -1; + _size = -1; + while(connected()) { size_t len = _tcp->available(); if(len > 0) { @@ -421,7 +424,12 @@ int httpClient::handleHeaderResponse() { if(_size) { DEBUG_HTTPCLIENT("[HTTP-Client][handleHeaderResponse] size: %d\n", _size); } - return _returnCode; + if(_returnCode) { + return _returnCode; + } else { + DEBUG_HTTPCLIENT("[HTTP-Client][handleHeaderResponse] Remote host is not an HTTP Server!"); + return HTTPC_ERROR_NO_HTTP_SERVER; + } } } else { diff --git a/libraries/ESP8266httpClient/src/ESP8266httpClient.h b/libraries/ESP8266httpClient/src/ESP8266httpClient.h index 5421acf22..ddc0cea35 100644 --- a/libraries/ESP8266httpClient/src/ESP8266httpClient.h +++ b/libraries/ESP8266httpClient/src/ESP8266httpClient.h @@ -40,6 +40,7 @@ #define HTTPC_ERROR_NOT_CONNECTED (-4) #define HTTPC_ERROR_CONNECTION_LOST (-5) #define HTTPC_ERROR_NO_STREAM (-6) +#define HTTPC_ERROR_NO_HTTP_SERVER (-7) class httpClient {