X-Git-Url: https://juplo.de/gitweb/?p=percentcodec;a=blobdiff_plain;f=cachecontrol%2Fsrc%2Fmain%2Fjava%2Fde%2Fhalbekunst%2Fjuplo%2Fcachecontrol%2FCacheControlInterceptor.java;fp=cachecontrol%2Fsrc%2Fmain%2Fjava%2Fde%2Fhalbekunst%2Fjuplo%2Fcachecontrol%2FCacheControlInterceptor.java;h=0000000000000000000000000000000000000000;hp=c32183f6165f5821ae8085f6bba0c3fe94eecffe;hb=a6e0e65cce68acb20abc6ca935471611a740c342;hpb=1d395c6002486d485bde0d5dc713886d70bd3f8a diff --git a/cachecontrol/src/main/java/de/halbekunst/juplo/cachecontrol/CacheControlInterceptor.java b/cachecontrol/src/main/java/de/halbekunst/juplo/cachecontrol/CacheControlInterceptor.java deleted file mode 100644 index c32183f6..00000000 --- a/cachecontrol/src/main/java/de/halbekunst/juplo/cachecontrol/CacheControlInterceptor.java +++ /dev/null @@ -1,83 +0,0 @@ -package de.halbekunst.juplo.cachecontrol; - -import de.halbekunst.juplo.cachecontrol.AcceleratorFilter.AccelerationWrapper; -import de.halbekunst.juplo.cachecontrol.annotations.Cacheable; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.servlet.HandlerInterceptor; -import org.springframework.web.servlet.ModelAndView; - -/** - * - * @author kai - */ -public class CacheControlInterceptor implements HandlerInterceptor { - private final static Logger log = LoggerFactory.getLogger(CacheControlInterceptor.class); - - - private CacheControl cacheControl; - - - @Override - public boolean preHandle( - HttpServletRequest request, - HttpServletResponse response, - Object handler - ) throws Exception - { - Cacheable cacheable = handler.getClass().getAnnotation(Cacheable.class); - if (cacheable == null) { - /** Der Handler ist nicht mit @Cacheable annotiert: keine Dekorationen anbringen! */ - return true; - } - - AccelerationWrapper wrapper = (AccelerationWrapper)request.getAttribute(AcceleratorFilter.RESPONSE_WRAPPER); - if (wrapper != null) - wrapper.supressGuessing(); - - /** CacheControll initialisieren (Handler nach annotierte Methoden scannen etc.) */ - cacheControl.init(handler, wrapper); - - if (cacheable.eager()) { - return cacheControl.decorate(request, response); - } - else { - return true; - } - } - - @Override - public void postHandle( - HttpServletRequest request, - HttpServletResponse response, - Object handler, - ModelAndView modelAndView - ) throws Exception - { - /** - * Dekoration nur dann anstossen, wenn sie nicht bereits von dem - * AcceleratorFilter ausgelöst wird. - */ - if (request.getAttribute(AcceleratorFilter.RESPONSE_WRAPPER) == null) - cacheControl.decorate(request, response); - } - - @Override - public void afterCompletion( - HttpServletRequest request, - HttpServletResponse response, - Object handler, Exception ex - ) throws Exception - { - cacheControl.release(); - } - - - @Autowired - public void setCacheControl(CacheControl cacheControl) { - this.cacheControl = cacheControl; - } -}