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-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org