comparison gwt-client/src/main/java/org/dive4elements/river/client/server/filter/NoCacheFilter.java @ 5838:5aa05a7a34b7

Rename modules to more fitting names.
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 25 Apr 2013 15:23:37 +0200
parents flys-client/src/main/java/org/dive4elements/river/client/server/filter/NoCacheFilter.java@821a02bbfb4e
children 172338b1407f
comparison
equal deleted inserted replaced
5837:d9901a08d0a6 5838:5aa05a7a34b7
1 package org.dive4elements.river.client.server.filter;
2
3 import java.io.IOException;
4 import java.util.Date;
5
6 import javax.servlet.Filter;
7 import javax.servlet.FilterChain;
8 import javax.servlet.FilterConfig;
9 import javax.servlet.ServletException;
10 import javax.servlet.ServletRequest;
11 import javax.servlet.ServletResponse;
12 import javax.servlet.http.HttpServletRequest;
13 import javax.servlet.http.HttpServletResponse;
14
15 import org.apache.log4j.Logger;
16
17 /** ServletFilter to avoid caching for GWTs *.nocache.* files. */
18 public class NoCacheFilter implements Filter {
19
20 private static final long DAY = 86400000L;
21
22 private static final String NO_CACHE = ".nocache.";
23
24 private static Logger log = Logger.getLogger(NoCacheFilter.class);
25
26 /**
27 * Initialize.
28 */
29 @Override
30 public void init(FilterConfig config)
31 throws ServletException
32 {
33 }
34
35
36 /**
37 * Called when filter in chain invoked.
38 * @param req request to servlet
39 * @param resp response of servlet
40 * @param chain the filter chain
41 */
42 @Override
43 public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain)
44 throws IOException, ServletException
45 {
46 HttpServletRequest httpreq = (HttpServletRequest)req;
47 String uri = httpreq.getRequestURI();
48
49 if (uri.contains(NO_CACHE)) {
50 log.debug("Set no-cache for " + uri);
51
52 Date now = new Date();
53 HttpServletResponse httpresp = (HttpServletResponse)resp;
54 httpresp.setDateHeader("Date", now.getTime());
55 httpresp.setDateHeader("Expires", now.getTime() - DAY);
56 httpresp.setHeader("Pragma", "no-cache");
57 httpresp.setHeader("Cache-control",
58 "no-cache, no-store, must-revalidate");
59 }
60
61 chain.doFilter(req, resp);
62 }
63
64
65 /**
66 * Do nothing at destruction.
67 */
68 @Override
69 public void destroy() {
70 }
71 }
72 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org