diff --git a/libraries/ESP8266WebServer/src/Parsing.cpp b/libraries/ESP8266WebServer/src/Parsing.cpp index 61e412910..4b1f375fa 100644 --- a/libraries/ESP8266WebServer/src/Parsing.cpp +++ b/libraries/ESP8266WebServer/src/Parsing.cpp @@ -140,7 +140,7 @@ bool ESP8266WebServer::_parseRequest(WiFiClient& client) { if (searchStr != "") searchStr += '&'; char *plainBuf = nullptr; size_t plainLen = 0; - while ( (plainLen == 0) || (plainLen < contentLength)) + do { //some clients send headers first and data after (like we do) //give them a chance @@ -152,7 +152,7 @@ bool ESP8266WebServer::_parseRequest(WiFiClient& client) { client.readBytes(&plainBuf[plainLen], newLen); plainLen += newLen; plainBuf[plainLen] = '\0'; - } + } while (plainLen < contentLength); #ifdef DEBUG_ESP_HTTP_SERVER DEBUG_OUTPUT.print("Plain: "); DEBUG_OUTPUT.println(plainBuf);