diff --git a/example/platformio.ini b/example/platformio.ini index de571ff..3fb3c45 100644 --- a/example/platformio.ini +++ b/example/platformio.ini @@ -36,7 +36,7 @@ html_files = html/index.html html/app.js.gz html/app.css.gz - html/favicon.ico + html/favicon.ico.gz [env:esplib8266-debug] platform = espressif8266 @ 4.2.1 diff --git a/src/basewebserver.cpp b/src/basewebserver.cpp index 12bd56f..37b835b 100644 --- a/src/basewebserver.cpp +++ b/src/basewebserver.cpp @@ -40,7 +40,7 @@ SOFTWARE. INCBIN(IndexHtml, "html/index.html"); INCBIN(AppJs, "html/app.js.gz"); INCBIN(AppCss, "html/app.css.gz"); -INCBIN(Favicon, "html/favicon.ico"); +INCBIN(FaviconIco, "html/favicon.ico.gz"); #endif BaseWebServer::BaseWebServer(WebConfig *config, int dynamicJsonSize) { diff --git a/src/basewebserver.hpp b/src/basewebserver.hpp index 85ef424..e5ad6bc 100644 --- a/src/basewebserver.hpp +++ b/src/basewebserver.hpp @@ -52,7 +52,7 @@ SOFTWARE. INCBIN_EXTERN(IndexHtml); INCBIN_EXTERN(AppJs); INCBIN_EXTERN(AppCss); -INCBIN_EXTERN(Favicon); +INCBIN_EXTERN(FaviconIco); #else extern const uint8_t indexHtmlStart[] asm("_binary_html_index_html_start"); extern const uint8_t indexHtmlEnd[] asm("_binary_html_index_html_end"); @@ -60,8 +60,8 @@ extern const uint8_t appJsStart[] asm("_binary_html_app_js_gz_start"); extern const uint8_t appJsEnd[] asm("_binary_html_app_js_gz_end"); extern const uint8_t appCssStart[] asm("_binary_html_app_css_gz_start"); extern const uint8_t appCssEnd[] asm("_binary_html_app_css_gz_end"); -extern const uint8_t faviconStart[] asm("_binary_html_favicon_ico_start"); -extern const uint8_t faviconEnd[] asm("_binary_html_favicon_ico_end"); +extern const uint8_t faviconIcoStart[] asm("_binary_html_favicon_ico_gz_start"); +extern const uint8_t faviconIcoEnd[] asm("_binary_html_favicon_ico_gz_end"); #endif class BaseWebServer { @@ -117,7 +117,8 @@ class BaseWebServer { void webReturnFavicon(AsyncWebServerRequest *request) { Log.notice(F("WEB : webServer callback for /favicon.ico (Memory)." CR)); AsyncWebServerResponse *response = request->beginResponse_P( - 200, "image/x-icon", (const uint8_t *)gFaviconData, gFaviconSize); + 200, "image/x-icon", (const uint8_t *)gFaviconIcoData, gFaviconIcoSize); + response->addHeader("Content-Encoding", "gzip"); request->send(response); } #else @@ -156,9 +157,10 @@ class BaseWebServer { void webReturnFavicon(AsyncWebServerRequest *request) { Log.notice(F("WEB : webServer callback for /favicon.ico (Memory)." CR)); AsyncWebServerResponse *response = request->beginResponse_P( - 200, "image/x-icon", (const uint8_t *)faviconStart, - reinterpret_cast(&faviconEnd[0]) - - reinterpret_cast(&faviconStart[0])); + 200, "image/x-icon", (const uint8_t *)faviconIcoStart, + reinterpret_cast(&faviconIcoEnd[0]) - + reinterpret_cast(&faviconIcoStart[0])); + request->send(response); request->send(response); } #endif