Skip to content

Commit c24d574

Browse files
committed
Add Cache-Control to index
1 parent 75c219d commit c24d574

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

wled00/wled_server.cpp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,14 +229,32 @@ void serveIndexOrWelcome(AsyncWebServerRequest *request)
229229
}
230230
}
231231

232+
bool handleIfNoneMatchCacheHeader(AsyncWebServerRequest* request)
233+
{
234+
AsyncWebHeader* header = request->getHeader("If-None-Match");
235+
if (header && header->value() == String(VERSION)) {
236+
request->send(304);
237+
return true;
238+
}
239+
return false;
240+
}
241+
242+
bool setStaticContentCacheHeaders(AsyncWebServerResponse *response)
243+
{
244+
response->addHeader(F("Cache-Control"),"max-age=2592000");
245+
response->addHeader(F("ETag"), String(VERSION));
246+
}
232247

233248
void serveIndex(AsyncWebServerRequest* request)
234249
{
235250
if (handleFileRead(request, "/index.htm")) return;
236251

252+
if (handleIfNoneMatchCacheHeader(request)) return;
253+
237254
AsyncWebServerResponse *response = request->beginResponse_P(200, "text/html", PAGE_index, PAGE_index_L);
238255

239256
response->addHeader(F("Content-Encoding"),"gzip");
257+
setStaticContentCacheHeaders(response);
240258

241259
request->send(response);
242260
}

0 commit comments

Comments
 (0)