From: markt Date: Sat, 10 Jul 2010 17:20:41 +0000 (+0000) Subject: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=49570 X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=20863f70c15f4c998fa4db8fe35408fa055cf941;p=tomcat7.0 Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=49570 When using the example compression filter, set the Vary header on compressed responses git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@962889 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 605330e1f..042b1b402 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -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) + + 49570: When using the example compression filter, set the + Vary header on compressed responses. (markt) + diff --git a/webapps/examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java b/webapps/examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java index 4a65b4f71..6aff0c2ff 100644 --- a/webapps/examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java +++ b/webapps/examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java @@ -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); } }