Revision: 38956
Author:   wko
Date:     2013-03-28 20:48:39 +0100 (Thu, 28 Mar 2013)
Log Message:
-----------
HSTTWO-2521: Fixing a case when multi-valued Cache-Control header value is 
ignored.
e.g., Cache-Control: public, no-cache
or, Cache-Control: no-cache, no-store
...

Modified Paths:
--------------
    
hippo-cms7/site-toolkit/trunk/components/core/src/main/java/org/hippoecm/hst/core/container/PageCachingValve.java

Modified: 
hippo-cms7/site-toolkit/trunk/components/core/src/main/java/org/hippoecm/hst/core/container/PageCachingValve.java
===================================================================
--- 
hippo-cms7/site-toolkit/trunk/components/core/src/main/java/org/hippoecm/hst/core/container/PageCachingValve.java
   2013-03-28 15:58:37 UTC (rev 38955)
+++ 
hippo-cms7/site-toolkit/trunk/components/core/src/main/java/org/hippoecm/hst/core/container/PageCachingValve.java
   2013-03-28 19:48:39 UTC (rev 38956)
@@ -276,14 +276,13 @@
     private boolean isNoCacheHeaderPresent(final PageInfo pageInfo, final 
ValveContext context) {
         final List<Header<? extends Serializable>> headers = 
pageInfo.getHeaders();
         for (Header<? extends Serializable> header : headers) {
-            if ("Pragma".equalsIgnoreCase(header.getName()) && 
"no-cache".equalsIgnoreCase(String.valueOf(header.getValue()))) {
+            if ("Pragma".equalsIgnoreCase(header.getName()) && 
"no-cache".equals(header.getValue())) {
                 log.debug("We do not cache '{}' because header Pragma no-cache 
was set: ", context.getServletRequest().getRequestURI());
                 return true;
-            } else if ("Cache-Control".equalsIgnoreCase(header.getName()) && 
"no-cache".equalsIgnoreCase(String.valueOf(header.getValue()))) {
+            } else if ("Cache-Control".equalsIgnoreCase(header.getName()) && 
StringUtils.contains(String.valueOf(header.getValue()), "no-cache")) {
                 log.debug("We do not cache '{}' because header Cache-Control 
no-cache was set: ", context.getServletRequest().getRequestURI());
                 return true;
-            } else if ("Expires".equals(header.getName())) {
-                Serializable o = header.getValue();
+            } else if ("Expires".equalsIgnoreCase(header.getName())) {
                 try {
                     long expires = 
Long.parseLong(String.valueOf(header.getValue()));
                     if (expires <= 0) {

_______________________________________________
Hippocms-svn mailing list
[email protected]
https://lists.onehippo.org/mailman/listinfo/hippocms-svn

Reply via email to