You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2010/07/10 19:20:41 UTC

svn commit: r962889 - in /tomcat/trunk/webapps: docs/changelog.xml examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java

Author: markt
Date: Sat Jul 10 17:20:41 2010
New Revision: 962889

URL: http://svn.apache.org/viewvc?rev=962889&view=rev
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=49570
When using the example compression filter, set the Vary header on compressed responses

Modified:
    tomcat/trunk/webapps/docs/changelog.xml
    tomcat/trunk/webapps/examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=962889&r1=962888&r2=962889&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Sat Jul 10 17:20:41 2010
@@ -214,6 +214,10 @@
         naming resources that broke the complete server status page in the
         manager application. Note these MBeans now have a new name. (markt)
       </fix>
+      <fix>
+        <bug>49570</bug>: When using the example compression filter, set the
+        Vary header on compressed responses. (markt)
+      </fix>
     </changelog>
   </subsection>
 </section>

Modified: tomcat/trunk/webapps/examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java?rev=962889&r1=962888&r2=962889&view=diff
==============================================================================
--- tomcat/trunk/webapps/examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java (original)
+++ tomcat/trunk/webapps/examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java Sat Jul 10 17:20:41 2010
@@ -306,6 +306,16 @@ public class CompressionResponseStream
                 gzipstream = output;
             } else {
                 response.addHeader("Content-Encoding", "gzip");
+                String vary = response.getHeader("Vary");
+                if (vary == null) {
+                    // Add a new Vary header
+                    response.setHeader("Vary", "Accept-Encoding");
+                } else if (vary.equals("*")) {
+                    // No action required
+                } else {
+                    // Merge into current header
+                    response.setHeader("Vary", vary + ",Accept-Encoding");
+                }
                 gzipstream = new GZIPOutputStream(output);
             }
         }



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org