From c80e972c4d1ad232a9bdebe3690d94165b53c12c Mon Sep 17 00:00:00 2001 From: hurricanefrog <91597996+hurricanefrog@users.noreply.github.com> Date: Fri, 24 Oct 2025 07:59:37 +0000 Subject: [PATCH] fix(webserver): Use client() instead of _currentClient this makes it possible to create derived classes properly. --- libraries/WebServer/src/WebServer.cpp | 8 ++++---- libraries/WebServer/src/WebServer.h | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/libraries/WebServer/src/WebServer.cpp b/libraries/WebServer/src/WebServer.cpp index bc0467a122e..0afacb3981d 100644 --- a/libraries/WebServer/src/WebServer.cpp +++ b/libraries/WebServer/src/WebServer.cpp @@ -565,7 +565,7 @@ void WebServer::chunkResponseBegin(const char *contentType) { } _chunkedResponseActive = true; - _chunkedClient = _currentClient; + _chunkedClient = client(); _contentLength = CONTENT_LENGTH_UNKNOWN; @@ -574,7 +574,7 @@ void WebServer::chunkResponseBegin(const char *contentType) { _currentClientWrite(header.c_str(), header.length()); _chunkedResponseActive = true; - _chunkedClient = _currentClient; + _chunkedClient = client(); } void WebServer::chunkWrite(const char *data, size_t length) { @@ -734,7 +734,7 @@ void WebServer::sendContent(const char *content, size_t contentLength) { } _currentClientWrite(content, contentLength); if (_chunked) { - _currentClient.write(footer, 2); + client().write(footer, 2); if (contentLength == 0) { _chunked = false; } @@ -757,7 +757,7 @@ void WebServer::sendContent_P(PGM_P content, size_t size) { } _currentClientWrite_P(content, size); if (_chunked) { - _currentClient.write(footer, 2); + client().write(footer, 2); if (size == 0) { _chunked = false; } diff --git a/libraries/WebServer/src/WebServer.h b/libraries/WebServer/src/WebServer.h index 498bcb5806c..86b76886254 100644 --- a/libraries/WebServer/src/WebServer.h +++ b/libraries/WebServer/src/WebServer.h @@ -237,7 +237,7 @@ class WebServer { template size_t streamFile(T &file, const String &contentType, const int code = 200) { _streamFileCore(file.size(), file.name(), contentType, code); - return _currentClient.write(file); + return client().write(file); } bool _eTagEnabled = false; @@ -251,10 +251,10 @@ class WebServer { protected: virtual size_t _currentClientWrite(const char *b, size_t l) { - return _currentClient.write(b, l); + return client().write(b, l); } virtual size_t _currentClientWrite_P(PGM_P b, size_t l) { - return _currentClient.write_P(b, l); + return client().write_P(b, l); } void _addRequestHandler(RequestHandler *handler); bool _removeRequestHandler(RequestHandler *handler);