org.apache.cocoon.acting
Class HttpCacheAction
java.lang.Object
org.apache.cocoon.util.AbstractLogEnabled
org.apache.cocoon.acting.AbstractAction
org.apache.cocoon.acting.AbstractConfigurableAction
org.apache.cocoon.acting.HttpCacheAction
- All Implemented Interfaces:
- org.apache.cocoon.acting.Action, Configurable, ThreadSafe
- public class HttpCacheAction
- extends org.apache.cocoon.acting.AbstractConfigurableAction
- implements ThreadSafe
This action adds the Last-Modified
, Expires
and
Cache-Control
HTTP headers to the response.
This action will add the Last-Modified
header to the response
with the time in which the request was executed, and an Expires
header at a specified time difference. Additionally, it will provide an
extra Cache-Control
indicating the maximum age of the request
as a delta between the expiration and last modification dates.
This is useful (for example) when Cocoon is proxyied by a Web Server such
as Apache HTTPD running mod_cache, to indicate for each request how long
the output should be cached for.
To configure the difference between Last-Modified
and
Expires
this Action
can be configured specifying
days, hours, minutes, and seconds in this way:
<map:action>s
<map:action name="xyz" src="org.apache.cocoon.acting.HttpCacheAction>"
<days>1</day>s
<hours>2</hour>s
<minutes>3</minute>s
<seconds>4</second>s
</map:actio>n
</map:action>s
Using this example configuration, the Expires
header will
specify a date one day, two hours, three minutes and four seconds after
the time of the request (which will be in Last-Modified
).
Note that if any of the parameters mentioned above is zero or
less than zero this action will modify the behaviour of the
resulting Cache-Control
header to emit the keyword
no-cache
.
This action will also return the three headers it added as sitemap
parameters called last-modified
, expires
and
cache-control
(all lowercase).
- Version:
- $Id: HttpCacheAction.html 1304280 2012-03-23 11:18:01Z ilgrosso $
Fields inherited from class org.apache.cocoon.acting.AbstractConfigurableAction |
settings |
Fields inherited from class org.apache.cocoon.acting.AbstractAction |
EMPTY_MAP |
Fields inherited from interface org.apache.cocoon.acting.Action |
ROLE |
Methods inherited from class org.apache.cocoon.util.AbstractLogEnabled |
getLogger, setLogger |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
HttpCacheAction
public HttpCacheAction()
configure
public void configure(Configuration configuration)
throws ConfigurationException
- Specified by:
configure
in interface Configurable
- Throws:
ConfigurationException
act
public Map act(org.apache.cocoon.environment.Redirector redirector,
org.apache.cocoon.environment.SourceResolver resolver,
Map objectModel,
String source,
Parameters parameters)
throws Exception
- Specified by:
act
in interface org.apache.cocoon.acting.Action
- Throws:
Exception
Copyright © 1999-2008 The Apache Software Foundation. All Rights Reserved.