[jboss-svn-commits] JBL Code SVN: r15980 - labs/shotoku/trunk/shotoku-file-access/src/java/org/jboss/shotoku/fileaccess.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Oct 22 09:46:07 EDT 2007
Author: adamw
Date: 2007-10-22 09:46:07 -0400 (Mon, 22 Oct 2007)
New Revision: 15980
Modified:
labs/shotoku/trunk/shotoku-file-access/src/java/org/jboss/shotoku/fileaccess/FileAccessServlet.java
Log:
Browser cache support in file-access
Modified: labs/shotoku/trunk/shotoku-file-access/src/java/org/jboss/shotoku/fileaccess/FileAccessServlet.java
===================================================================
--- labs/shotoku/trunk/shotoku-file-access/src/java/org/jboss/shotoku/fileaccess/FileAccessServlet.java 2007-10-22 07:43:02 UTC (rev 15979)
+++ labs/shotoku/trunk/shotoku-file-access/src/java/org/jboss/shotoku/fileaccess/FileAccessServlet.java 2007-10-22 13:46:07 UTC (rev 15980)
@@ -13,6 +13,7 @@
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
+import java.util.Enumeration;
/**
* A filter that enables to download files which are stored in a working copy of
@@ -99,8 +100,30 @@
}
}
+ /*System.out.println("REQUEST FOR A SHOTOKU NODE: " + path);
+ Enumeration headers = request.getHeaderNames();
+ while (headers.hasMoreElements()) {
+ String header = headers.nextElement().toString();
+ System.out.println(header + " = " + request.getHeader(header));
+ }
+ System.out.println("-----");*/
+
if (ci == null) {
Node requestedNode = contentManager.getNode(path);
+
+ long ifModifiedSince = request.getDateHeader("If-modified-since");
+ long nodeLastMod = requestedNode.getLastModification();
+ if (ifModifiedSince != -1 && ifModifiedSince == nodeLastMod) {
+ response.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
+ response.setContentLength(0);
+ response.setContentType(requestedNode.getMimeType());
+
+ return;
+ }
+
+ response.setDateHeader("Last-Modified", requestedNode.getLastModification());
+ response.setDateHeader("Expires", requestedNode.getLastModification()+1);
+
ci = new ContentInformation(requestedNode.getMimeType(),
requestedNode.getLength(),
requestedNode.getContentInputStream());
More information about the jboss-svn-commits
mailing list