From 1cd56419007e2ddb269a04f7c0fcf02bcce062c9 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Mon, 19 Oct 2026 06:25:30 -1000 Subject: [PATCH] [web_server] Keep the remaining ESP8266 web server strings in flash (#21113) --- .../captive_portal/captive_portal.cpp | 8 ++--- esphome/components/web_server/web_server.cpp | 35 +++++-------------- 2 files changed, 10 insertions(+), 33 deletions(-) diff --git a/esphome/components/captive_portal/captive_portal.cpp b/esphome/components/captive_portal/captive_portal.cpp index 16ebd407625..d169dcbf6ca 100644 --- a/esphome/components/captive_portal/captive_portal.cpp +++ b/esphome/components/captive_portal/captive_portal.cpp @@ -58,8 +58,8 @@ void CaptivePortal::handle_config(AsyncWebServerRequest *request) { request->send(stream); } void CaptivePortal::handle_wifisave(AsyncWebServerRequest *request) { - const auto &ssid = request->arg("ssid"); - const auto &psk = request->arg("psk"); + const auto &ssid = request->arg(ESPHOME_F("ssid")); + const auto &psk = request->arg(ESPHOME_F("psk")); ESP_LOGI(TAG, "Requested WiFi Settings Change:\n" " SSID='%s'\n" @@ -117,11 +117,7 @@ void CaptivePortal::handleRequest(AsyncWebServerRequest *req) { // All other requests get the captive portal page // This includes OS captive portal detection endpoints which will trigger // the captive portal when they don't receive their expected responses -#ifndef USE_ESP8266 auto *response = req->beginResponse(200, ESPHOME_F("text/html"), INDEX_GZ, sizeof(INDEX_GZ)); -#else - auto *response = req->beginResponse_P(200, ESPHOME_F("text/html"), INDEX_GZ, sizeof(INDEX_GZ)); -#endif #ifdef USE_CAPTIVE_PORTAL_GZIP response->addHeader(ESPHOME_F("Content-Encoding"), ESPHOME_F("gzip")); #else diff --git a/esphome/components/web_server/web_server.cpp b/esphome/components/web_server/web_server.cpp index 48a2ce4a63b..4546ead98b2 100644 --- a/esphome/components/web_server/web_server.cpp +++ b/esphome/components/web_server/web_server.cpp @@ -350,7 +350,7 @@ void DeferredUpdateEventSourceList::try_send_nodefer(const char *message, size_t } void DeferredUpdateEventSourceList::add_new_client(WebServer *ws, AsyncWebServerRequest *request) { - DeferredUpdateEventSource *es = new DeferredUpdateEventSource(ws, "/events"); + DeferredUpdateEventSource *es = new DeferredUpdateEventSource(ws, ESPHOME_F("/events")); this->push_back(es); es->onConnect([this, es](AsyncEventSourceClient *client) { this->on_client_connect_(es); }); @@ -533,11 +533,7 @@ float WebServer::get_setup_priority() const { return setup_priority::WIFI - 1.0f #ifdef USE_WEBSERVER_LOCAL void WebServer::handle_index_request(AsyncWebServerRequest *request) { -#ifndef USE_ESP8266 - AsyncWebServerResponse *response = request->beginResponse(200, "text/html", INDEX_GZ, sizeof(INDEX_GZ)); -#else - AsyncWebServerResponse *response = request->beginResponse_P(200, "text/html", INDEX_GZ, sizeof(INDEX_GZ)); -#endif + AsyncWebServerResponse *response = request->beginResponse(200, ESPHOME_F("text/html"), INDEX_GZ, sizeof(INDEX_GZ)); #ifdef USE_WEBSERVER_GZIP response->addHeader(ESPHOME_F("Content-Encoding"), ESPHOME_F("gzip")); #else @@ -547,13 +543,8 @@ void WebServer::handle_index_request(AsyncWebServerRequest *request) { } #elif USE_WEBSERVER_VERSION >= 2 void WebServer::handle_index_request(AsyncWebServerRequest *request) { -#ifndef USE_ESP8266 - AsyncWebServerResponse *response = - request->beginResponse(200, "text/html", ESPHOME_WEBSERVER_INDEX_HTML, ESPHOME_WEBSERVER_INDEX_HTML_SIZE); -#else - AsyncWebServerResponse *response = - request->beginResponse_P(200, "text/html", ESPHOME_WEBSERVER_INDEX_HTML, ESPHOME_WEBSERVER_INDEX_HTML_SIZE); -#endif + AsyncWebServerResponse *response = request->beginResponse(200, ESPHOME_F("text/html"), ESPHOME_WEBSERVER_INDEX_HTML, + ESPHOME_WEBSERVER_INDEX_HTML_SIZE); // No gzip header here because the HTML file is so small request->send(response); } @@ -625,13 +616,8 @@ void WebServer::handle_pna_cors_request(AsyncWebServerRequest *request) { #ifdef USE_WEBSERVER_CSS_INCLUDE void WebServer::handle_css_request(AsyncWebServerRequest *request) { -#ifndef USE_ESP8266 - AsyncWebServerResponse *response = - request->beginResponse(200, "text/css", ESPHOME_WEBSERVER_CSS_INCLUDE, ESPHOME_WEBSERVER_CSS_INCLUDE_SIZE); -#else - AsyncWebServerResponse *response = - request->beginResponse_P(200, "text/css", ESPHOME_WEBSERVER_CSS_INCLUDE, ESPHOME_WEBSERVER_CSS_INCLUDE_SIZE); -#endif + AsyncWebServerResponse *response = request->beginResponse(200, ESPHOME_F("text/css"), ESPHOME_WEBSERVER_CSS_INCLUDE, + ESPHOME_WEBSERVER_CSS_INCLUDE_SIZE); response->addHeader(ESPHOME_F("Content-Encoding"), ESPHOME_F("gzip")); request->send(response); } @@ -639,13 +625,8 @@ void WebServer::handle_css_request(AsyncWebServerRequest *request) { #ifdef USE_WEBSERVER_JS_INCLUDE void WebServer::handle_js_request(AsyncWebServerRequest *request) { -#ifndef USE_ESP8266 - AsyncWebServerResponse *response = - request->beginResponse(200, "text/javascript", ESPHOME_WEBSERVER_JS_INCLUDE, ESPHOME_WEBSERVER_JS_INCLUDE_SIZE); -#else - AsyncWebServerResponse *response = - request->beginResponse_P(200, "text/javascript", ESPHOME_WEBSERVER_JS_INCLUDE, ESPHOME_WEBSERVER_JS_INCLUDE_SIZE); -#endif + AsyncWebServerResponse *response = request->beginResponse( + 200, ESPHOME_F("text/javascript"), ESPHOME_WEBSERVER_JS_INCLUDE, ESPHOME_WEBSERVER_JS_INCLUDE_SIZE); response->addHeader(ESPHOME_F("Content-Encoding"), ESPHOME_F("gzip")); request->send(response); }