Author: markt Date: Tue Aug 12 10:17:11 2014 New Revision: 1617443 URL: http://svn.apache.org/r1617443 Log: Restore !included test to correct location Some other component (e.g. filter) may have already set the vary header so account for that.
Modified: tomcat/trunk/java/org/apache/catalina/servlets/DefaultServlet.java Modified: tomcat/trunk/java/org/apache/catalina/servlets/DefaultServlet.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/servlets/DefaultServlet.java?rev=1617443&r1=1617442&r2=1617443&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/servlets/DefaultServlet.java (original) +++ tomcat/trunk/java/org/apache/catalina/servlets/DefaultServlet.java Tue Aug 12 10:17:11 2014 @@ -33,6 +33,7 @@ import java.io.StringReader; import java.io.StringWriter; import java.security.AccessController; import java.util.ArrayList; +import java.util.Collection; import java.util.Enumeration; import java.util.Iterator; import java.util.Locale; @@ -799,11 +800,22 @@ public class DefaultServlet extends Http // Serve a gzipped version of the file if present boolean usingGzippedVersion = false; - if (gzip && resource.isFile() && !path.endsWith(".gz")) { + if (gzip && !included && resource.isFile() && !path.endsWith(".gz")) { WebResource gzipResource = resources.getResource(path + ".gz"); if (gzipResource.exists() && gzipResource.isFile()) { - response.addHeader("Vary", "accept-encoding"); - if (!included && checkIfGzip(request)) { + Collection<String> varyHeaders = response.getHeaders("Vary"); + boolean addRequired = true; + for (String varyHeader : varyHeaders) { + if ("*".equals(varyHeader) || + "accept-encoding".equalsIgnoreCase(varyHeader)) { + addRequired = false; + break; + } + } + if (addRequired) { + response.addHeader("Vary", "accept-encoding"); + } + if (checkIfGzip(request)) { response.addHeader("Content-Encoding", "gzip"); resource = gzipResource; usingGzippedVersion = true; --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org