tapestry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From hls...@apache.org
Subject git commit: Set the correct Cache-Control header on module requests to force re-validation on each page
Date Wed, 05 Jun 2013 00:28:00 GMT
Updated Branches:
  refs/heads/master 7f5767b77 -> 1bb0d1c23


Set the correct Cache-Control header on module requests to force re-validation on each page


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/1bb0d1c2
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/1bb0d1c2
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/1bb0d1c2

Branch: refs/heads/master
Commit: 1bb0d1c238757672f864c79b2cc5d606aa277b75
Parents: 7f5767b
Author: Howard M. Lewis Ship <hlship@apache.org>
Authored: Tue Jun 4 17:27:54 2013 -0700
Committer: Howard M. Lewis Ship <hlship@apache.org>
Committed: Tue Jun 4 17:27:54 2013 -0700

----------------------------------------------------------------------
 .../internal/services/ResourceStreamerImpl.java    |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/1bb0d1c2/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResourceStreamerImpl.java
----------------------------------------------------------------------
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResourceStreamerImpl.java
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResourceStreamerImpl.java
index 6b41cc8..9eff1e8 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResourceStreamerImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResourceStreamerImpl.java
@@ -168,6 +168,14 @@ public class ResourceStreamerImpl implements ResourceStreamer
             response.setDateHeader("Expires", lastModified + InternalConstants.TEN_YEARS);
         }
 
+        // This is really for modules, which can not have a content hash code in the URL;
therefore, we want
+        // the browser to re-validate the resources on each new page render; because of the
ETags, that will
+        // mostly result in quick SC_NOT_MODIFIED responses.
+        if (options.contains(Options.OMIT_EXPIRATION))
+        {
+            response.setHeader("Cache-Control", "max-age=0, must-revalidate");
+        }
+
         response.setContentLength(streamable.getSize());
 
         if (streamable.getCompression() == CompressionStatus.COMPRESSED)


Mime
View raw message