From 1923e54e2ef25449b769b0d46ddaf76c1b4cb7a9 Mon Sep 17 00:00:00 2001 From: Piotr Gawron <piotr.gawron@uni.lu> Date: Mon, 1 Apr 2019 13:39:53 +0200 Subject: [PATCH] headers to disable query caching added --- CHANGELOG | 2 ++ .../mapviewer/web/bean/utils/ApiAccessControlFilter.java | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG b/CHANGELOG index fe781357f5..a6960a4858 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -8,6 +8,8 @@ minerva (12.2.1) stable; urgency=medium privileges (#766) * Bug fix: invalid pubmed identifier could break clicking on element containing it (#764, #765, #769) + * Bug fix: cache for API queries is explicitly disabled - some queries could + be mistakenly cached and the system behaviour might get unstable (#771) -- Piotr Gawron <piotr.gawron@uni.lu> Mon, 1 Apr 2019 17:00:00 +0200 diff --git a/web/src/main/java/lcsb/mapviewer/web/bean/utils/ApiAccessControlFilter.java b/web/src/main/java/lcsb/mapviewer/web/bean/utils/ApiAccessControlFilter.java index 1d490fc98a..c09fdbea38 100644 --- a/web/src/main/java/lcsb/mapviewer/web/bean/utils/ApiAccessControlFilter.java +++ b/web/src/main/java/lcsb/mapviewer/web/bean/utils/ApiAccessControlFilter.java @@ -13,7 +13,7 @@ import javax.servlet.http.HttpServletResponse; import org.apache.log4j.Logger; /** - * This filter enables x-frames from another domain if necessary. + * This filter disables caching for API queries. * * @author Piotr Gawron * @@ -33,7 +33,12 @@ public class ApiAccessControlFilter implements Filter { public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletResponse response = (HttpServletResponse) res; + //caching on Safari response.addHeader("Vary", "*"); + // generic cache prevent mechanism + response.addHeader("Cache-Control", "no-cache, no-store, must-revalidate"); + response.addHeader("Pragma", "no-cache"); + response.addHeader("Expires", "0"); chain.doFilter(req, response); } -- GitLab