package io.lumify.web; import com.google.inject.Inject; import io.lumify.core.bootstrap.InjectHelper; import io.lumify.core.config.Configuration; import javax.servlet.*; import javax.servlet.http.HttpServletResponse; import java.io.IOException; public class CacheServletFilter implements Filter { private Configuration configuration; private Integer maxAge; @Override public void init(FilterConfig filterConfig) throws ServletException { InjectHelper.inject(this); String maxAgeString = this.configuration.get("web.cacheServletFilter.maxAge", null); if (maxAgeString != null) { maxAge = Integer.parseInt(maxAgeString); } } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { if (response instanceof HttpServletResponse && maxAge != null) { BaseRequestHandler.setMaxAge((HttpServletResponse) response, maxAge); } chain.doFilter(request, response); } @Override public void destroy() { } @Inject public void setConfiguration(Configuration configuration) { this.configuration = configuration; } }