X-Git-Url: https://juplo.de/gitweb/?p=percentcodec;a=blobdiff_plain;f=cachecontrol%2Fsrc%2Fmain%2Fjava%2Fde%2Fhalbekunst%2Fjuplo%2Fcachecontrol%2FCacheControlInterceptor.java;h=77d0a862c936ba6d616a480c69c2ff949bb5ee48;hp=fe51187fa28c41340d1c9341d4c6ef6a45be8ece;hb=84bf389af59e95353a5c4c631decc0c3ea5129ae;hpb=75b55d74f57705c6c5ebee2bcd66c87f3f09089d diff --git a/cachecontrol/src/main/java/de/halbekunst/juplo/cachecontrol/CacheControlInterceptor.java b/cachecontrol/src/main/java/de/halbekunst/juplo/cachecontrol/CacheControlInterceptor.java index fe51187f..77d0a862 100644 --- a/cachecontrol/src/main/java/de/halbekunst/juplo/cachecontrol/CacheControlInterceptor.java +++ b/cachecontrol/src/main/java/de/halbekunst/juplo/cachecontrol/CacheControlInterceptor.java @@ -1,5 +1,6 @@ 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; @@ -33,8 +34,12 @@ public class CacheControlInterceptor implements HandlerInterceptor { 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); + cacheControl.init(handler, wrapper); if (cacheable.eager()) { return cacheControl.decorate(request, response, handler); @@ -52,7 +57,12 @@ public class CacheControlInterceptor implements HandlerInterceptor { ModelAndView modelAndView ) throws Exception { - cacheControl.decorate(request, response, handler); + /** + * 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, handler); } @Override