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 2014/08/12 12:17:12 UTC
svn commit: r1617443 -
/tomcat/trunk/java/org/apache/catalina/servlets/DefaultServlet.java
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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org