diff --git a/libraries/ESP8266WebServer/src/ESP8266WebServer.cpp b/libraries/ESP8266WebServer/src/ESP8266WebServer.cpp index cecc8eabc..a2c8a9866 100644 --- a/libraries/ESP8266WebServer/src/ESP8266WebServer.cpp +++ b/libraries/ESP8266WebServer/src/ESP8266WebServer.cpp @@ -71,6 +71,7 @@ ESP8266WebServer::~ESP8266WebServer() { delete handler; handler = next; } + close(); } void ESP8266WebServer::begin() { @@ -173,6 +174,14 @@ void ESP8266WebServer::handleClient() { _handleRequest(); } +void ESP8266WebServer::close() { + _server.close(); +} + +void ESP8266WebServer::stop() { + close(); +} + void ESP8266WebServer::sendHeader(const String& name, const String& value, bool first) { String headerLine = name; headerLine += ": "; diff --git a/libraries/ESP8266WebServer/src/ESP8266WebServer.h b/libraries/ESP8266WebServer/src/ESP8266WebServer.h index 40172e92a..e9ea8f1a1 100644 --- a/libraries/ESP8266WebServer/src/ESP8266WebServer.h +++ b/libraries/ESP8266WebServer/src/ESP8266WebServer.h @@ -66,6 +66,9 @@ public: void begin(); void handleClient(); + void close(); + void stop(); + bool authenticate(const char * username, const char * password); void requestAuthentication(); diff --git a/libraries/ESP8266WiFi/src/WiFiServer.cpp b/libraries/ESP8266WiFi/src/WiFiServer.cpp index 5de2d4ac7..462e7d7de 100644 --- a/libraries/ESP8266WiFi/src/WiFiServer.cpp +++ b/libraries/ESP8266WiFi/src/WiFiServer.cpp @@ -121,6 +121,16 @@ uint8_t WiFiServer::status() { return _pcb->state; } +void WiFiServer::close() { + if (!_pcb) { + return; + } + tcp_close(_pcb); +} + +void WiFiServer::stop() { + close(); +} size_t WiFiServer::write(uint8_t b) { return write(&b, 1); diff --git a/libraries/ESP8266WiFi/src/WiFiServer.h b/libraries/ESP8266WiFi/src/WiFiServer.h index 263bcbcdf..424a2331d 100644 --- a/libraries/ESP8266WiFi/src/WiFiServer.h +++ b/libraries/ESP8266WiFi/src/WiFiServer.h @@ -54,6 +54,8 @@ public: virtual size_t write(uint8_t); virtual size_t write(const uint8_t *buf, size_t size); uint8_t status(); + void close(); + void stop(); using Print::write;