X-Git-Url: https://juplo.de/gitweb/?p=percentcodec;a=blobdiff_plain;f=cachecontrol%2Fsrc%2Fmain%2Fjava%2Fde%2Fhalbekunst%2Fjuplo%2Fcachecontrol%2FCacheControlInterceptor.java;h=641bda341e809ccf0cb8a9becd0b9b82a9ac25b6;hp=bfdf97ab1003a3eaacf6dd58a458e2f79a05692e;hb=a266075162d622783b9b56e6e7fe2a17cf104421;hpb=44f2d6e2dabb96de914471bacb9f1b340fb103f1 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 bfdf97ab..641bda34 100644 --- a/cachecontrol/src/main/java/de/halbekunst/juplo/cachecontrol/CacheControlInterceptor.java +++ b/cachecontrol/src/main/java/de/halbekunst/juplo/cachecontrol/CacheControlInterceptor.java @@ -52,9 +52,23 @@ public class CacheControlInterceptor implements HandlerInterceptor { if (!cacheable.isGenerateCacheHeaders(request)) return true; + String url = null; + if (log.isDebugEnabled()) { + if (request.getQueryString() == null) { + url = request.getRequestURI(); + } + else { + StringBuilder builder = new StringBuilder(); + builder.append(request.getRequestURI()); + builder.append('?'); + builder.append(request.getQueryString()); + url = builder.toString(); + } + } + int cacheSeconds = cacheable.getCacheSeconds(request); if (cacheSeconds < 0) { - log.debug("{}: caching disabled!", request.getRequestURI()); + log.debug("{}: caching disabled!", url); response.setDateHeader(HEADER_DATE, now); response.setDateHeader(HEADER_EXPIRES, 0); response.addHeader(HEADER_PRAGMA, "no-cache"); @@ -107,24 +121,24 @@ public class CacheControlInterceptor implements HandlerInterceptor { * negative Werte für Last-Modified zurückliefert. */ if (log.isDebugEnabled()) - log.debug("Not modified since {}: {}", new Date(ifModifiedSince), request.getRequestURI()); + log.debug("{}: Not modified since {}", url, new Date(ifModifiedSince)); if (ifNoneMatch == null) { /** Neue Anfrage oder HTTP/1.0 Client! */ - log.debug("ETag nicht gesetzt: 304 {}", request.getRequestURI()); + log.debug("{}: ETag nicht gesetzt -> 304", url); response.setStatus(HttpServletResponse.SC_NOT_MODIFIED); return false; } } if (ifNoneMatch != null && ifNoneMatch.equals(eTag)) { - log.debug("{}: ETag {} not changed -> 304 ", request.getRequestURI(), ifNoneMatch); + log.debug("{}: ETag {} not changed -> 304 ", url, ifNoneMatch); response.setStatus(HttpServletResponse.SC_NOT_MODIFIED); return false; } - log.debug("{}: first up!", request.getRequestURI()); + log.debug("{}: first up!", url); /** HTTP/1.1-Caching-Header richtig setzen!! */ response.setDateHeader(HEADER_LAST_MODIFIED, lastModified); @@ -137,7 +151,6 @@ public class CacheControlInterceptor implements HandlerInterceptor { * Browser gecached werden! */ if (request.isRequestedSessionIdFromURL()) { - cacheSeconds = 0; cacheControl.put("private", null); } @@ -164,7 +177,7 @@ public class CacheControlInterceptor implements HandlerInterceptor { * Expires-Header für HTTP/1.0-Clients setzen. */ cacheControl.put("max-age", Integer.toString(cacheSeconds)); - response.setDateHeader(HEADER_EXPIRES, (now + cacheSeconds * 1000)); + response.setDateHeader(HEADER_EXPIRES, (now + (long)cacheSeconds * 1000)); } StringBuilder builder = new StringBuilder();