diff --git a/bundles/org.openhab.core.ui.icon/src/main/java/org/openhab/core/ui/icon/internal/IconServlet.java b/bundles/org.openhab.core.ui.icon/src/main/java/org/openhab/core/ui/icon/internal/IconServlet.java index 7723ac6a861..43ca067e4d9 100644 --- a/bundles/org.openhab.core.ui.icon/src/main/java/org/openhab/core/ui/icon/internal/IconServlet.java +++ b/bundles/org.openhab.core.ui.icon/src/main/java/org/openhab/core/ui/icon/internal/IconServlet.java @@ -14,13 +14,12 @@ import java.io.IOException; import java.io.InputStream; +import java.time.Instant; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; import javax.servlet.ServletException; -import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -143,20 +142,16 @@ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws Se return; } - if (Format.SVG.equals(format)) { - resp.setContentType("image/svg+xml"); - } else { - resp.setContentType("image/png"); - } - resp.setDateHeader("Last-Modified", new Date().getTime()); - ServletOutputStream os = resp.getOutputStream(); try (InputStream is = provider.getIcon(category, iconSetId, state, format)) { if (is == null) { logger.debug("Requested icon category {} provided by no icon provider", category); resp.sendError(404); return; } - is.transferTo(os); + + resp.setContentType(Format.SVG.equals(format) ? "image/svg+xml" : "image/png"); + resp.setDateHeader("Last-Modified", Instant.now().toEpochMilli()); + is.transferTo(resp.getOutputStream()); resp.flushBuffer(); } catch (IOException e) { logger.error("Failed sending the icon byte stream as a response: {}", e.getMessage());