You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by gi...@apache.org on 2001/01/12 10:47:48 UTC
cvs commit: xml-cocoon/src/org/apache/cocoon/reading ResourceReader.java
giacomo 01/01/12 01:47:47
Modified: src/org/apache/cocoon/reading Tag: xml-cocoon2
ResourceReader.java
Log:
Added the capability to specify an <expires/> parameter to allow
proxy servers to cache the resource served by the resourceReader component
Revision Changes Path
No revision
No revision
1.1.2.9 +17 -1 xml-cocoon/src/org/apache/cocoon/reading/Attic/ResourceReader.java
Index: ResourceReader.java
===================================================================
RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/reading/Attic/ResourceReader.java,v
retrieving revision 1.1.2.8
retrieving revision 1.1.2.9
diff -u -r1.1.2.8 -r1.1.2.9
--- ResourceReader.java 2000/12/08 20:39:59 1.1.2.8
+++ ResourceReader.java 2001/01/12 09:47:47 1.1.2.9
@@ -28,7 +28,19 @@
/**
*
* @author <a href="mailto:Giacomo.Pati@pwr.ch">Giacomo Pati</a>
- * @version CVS $Revision: 1.1.2.8 $ $Date: 2000/12/08 20:39:59 $
+ * @version CVS $Revision: 1.1.2.9 $ $Date: 2001/01/12 09:47:47 $
+ *
+ * The <code>ResourceReader</code> component is used to serve binary data
+ * in a sitemap pipeline.
+ *
+ * Parameters:
+ * <dl>
+ * <dt><expires></dt>
+ * <dd>This parameter is optional. When specified it determines how long
+ * in miliseconds the resources can be cached by any proxy between
+ * Cocoon2 and the requesting browser.
+ * </dd>
+ * </dl>
*/
public class ResourceReader extends AbstractReader {
@@ -77,6 +89,10 @@
is.close();
res.setContentLength(buffer.length);
res.setDateHeader("Last-Modified", lastModified);
+ long expires = par.getParameterAsInteger("expires", -1);
+ if (expires > 0) {
+ res.setDateHeader("Expires", System.currentTimeMillis()+expires);
+ }
res.setHeader("Accept-Ranges", "bytes");
out.write ( buffer );
}