1 18 19 package org.apache.roller.ui.rendering.util; 20 21 import org.apache.commons.logging.Log; 22 import org.apache.commons.logging.LogFactory; 23 24 import javax.servlet.http.HttpServletRequest ; 25 import javax.servlet.http.HttpServletResponse ; 26 27 30 public class ModDateHeaderUtil { 31 private static final Log log = LogFactory.getLog(ModDateHeaderUtil.class); 32 33 private ModDateHeaderUtil() { 35 36 } 37 38 50 public static boolean respondIfNotModified(HttpServletRequest request, 51 HttpServletResponse response, 52 long lastModifiedTimeMillis) { 53 long sinceDate = request.getDateHeader("If-Modified-Since"); 54 lastModifiedTimeMillis -= (lastModifiedTimeMillis % 1000); 56 log.debug("since date = " + sinceDate); 57 log.debug("last mod date (trucated to seconds) = " + lastModifiedTimeMillis); 58 if (lastModifiedTimeMillis <= sinceDate) { 59 log.debug("NOT MODIFIED " + request.getRequestURL()); 60 response.setStatus(HttpServletResponse.SC_NOT_MODIFIED); 61 return true; 62 } else { 63 return false; 64 } 65 } 66 67 78 public static void setLastModifiedHeader(HttpServletResponse response, long lastModifiedTimeMillis) { 79 response.setDateHeader("Last-Modified", lastModifiedTimeMillis); 80 response.setDateHeader("Expires", 0); 83 } 86 } 87 | Popular Tags |