mirror of
https://github.com/danieldemus/openhab-core.git
synced 2025-01-25 11:45:49 +01:00
Icon servlet: Set Cache-Control header to enable icon caching (#4336)
I have removed the Modified-Since handling as it did not have an effect due to the missing Cache-Control header, and instead added Cache-Control with a max-age set. This enables "forever" caching of icons, which should be fine since they are static assets. Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
This commit is contained in:
parent
289f06378d
commit
1ce5b378d3
@ -14,7 +14,6 @@ package org.openhab.core.ui.icon.internal;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.time.Instant;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -63,8 +62,6 @@ public class IconServlet extends HttpServlet {
|
||||
static final String PARAM_ANY_FORMAT = "anyFormat";
|
||||
static final String PARAM_STATE = "state";
|
||||
|
||||
private long startupTime;
|
||||
|
||||
protected String defaultIconSetId = "classic";
|
||||
|
||||
private final List<IconProvider> iconProvider = new ArrayList<>();
|
||||
@ -80,7 +77,6 @@ public class IconServlet extends HttpServlet {
|
||||
|
||||
@Activate
|
||||
protected void activate(Map<String, Object> config) {
|
||||
startupTime = System.currentTimeMillis();
|
||||
modified(config);
|
||||
}
|
||||
|
||||
@ -94,11 +90,6 @@ public class IconServlet extends HttpServlet {
|
||||
|
||||
@Override
|
||||
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
|
||||
if (req.getDateHeader("If-Modified-Since") > startupTime) {
|
||||
resp.setStatus(304);
|
||||
return;
|
||||
}
|
||||
|
||||
String category = getCategory(req);
|
||||
if (category.isEmpty()) {
|
||||
logger.debug("URI must start with '{}' but is '{}'", SERVLET_PATH, req.getRequestURI());
|
||||
@ -148,7 +139,7 @@ public class IconServlet extends HttpServlet {
|
||||
}
|
||||
|
||||
resp.setContentType(Format.SVG.equals(format) ? "image/svg+xml" : "image/png");
|
||||
resp.setDateHeader("Last-Modified", Instant.now().toEpochMilli());
|
||||
resp.setHeader("Cache-Control", "max-age=31536000");
|
||||
is.transferTo(resp.getOutputStream());
|
||||
resp.flushBuffer();
|
||||
} catch (IOException e) {
|
||||
|
Loading…
Reference in New Issue
Block a user