In "arduino-esp32/libraries/WiFi/src/WiFiClient.cpp". If the client has run out of data that has been received, it will return an error, instead of returning 0 (indicating no data available right now). Starting line 106: ``` int read(uint8_t * dst, size_t len){ if(!dst || !len || (_pos == _fill && !fillBuffer())){ return -1; ``` Change to: ``` int read(uint8_t * dst, size_t len){ if(!dst || !len || (_pos == _fill && !fillBuffer())){ return _failed ? -1: 0; ```