You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by yo...@apache.org on 2006/12/25 13:56:48 UTC

svn commit: r490146 - in /tomcat: connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java container/tc5.5.x/webapps/docs/changelog.xml

Author: yoavs
Date: Mon Dec 25 04:56:48 2006
New Revision: 490146

URL: http://svn.apache.org/viewvc?view=rev&rev=490146
Log:
Bugzilla 39402: don't always overwrite Vary header

Modified:
    tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java
    tomcat/container/tc5.5.x/webapps/docs/changelog.xml

Modified: tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java
URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java?view=diff&rev=490146&r1=490145&r2=490146
==============================================================================
--- tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java (original)
+++ tomcat/connectors/trunk/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java Mon Dec 25 04:56:48 2006
@@ -1615,7 +1615,20 @@
             outputBuffer.addActiveFilter(outputFilters[Constants.GZIP_FILTER]);
             headers.setValue("Content-Encoding").setString("gzip");
             // Make Proxies happy via Vary (from mod_deflate)
-            headers.setValue("Vary").setString("Accept-Encoding");
+            // Bugzilla 39402: http://issues.apache.org/bugzilla/show_bug.cgi?id=39402
+            // Either add a "Vary: Accept-Encoding" header or add Accept-Encoding to
+            // the existing header.
+            String varyHeaderValue = "";
+            MessageBytes varyHeaderValueBytes = headers.getValue("Vary");
+            if (varyHeaderValueBytes!=null && varyHeaderValueBytes.getString()!=null) {
+                varyHeaderValue = varyHeaderValueBytes.getString();
+            }
+            if ("".equals(varyHeaderValue)) {
+                varyHeaderValue="Accept-Encoding";
+            } else {
+                varyHeaderValue=varyHeaderValue+","+"Accept-Encoding";
+            }
+            headers.setValue("Vary").setString(varyHeaderValue);
         }
 
         // Add date header

Modified: tomcat/container/tc5.5.x/webapps/docs/changelog.xml
URL: http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/webapps/docs/changelog.xml?view=diff&rev=490146&r1=490145&r2=490146
==============================================================================
--- tomcat/container/tc5.5.x/webapps/docs/changelog.xml (original)
+++ tomcat/container/tc5.5.x/webapps/docs/changelog.xml Mon Dec 25 04:56:48 2006
@@ -192,6 +192,10 @@
         <bug>38774</bug>: Check javax.net.ssl.keyStorePassword system property as a secondary
         source for keystore password in JSSESocketFactory, as suggested by Ted X. Toth. (yoavs)
       </fix>
+      <fix>
+        <bug>39402</bug>: Modify existing Vary HTTP header, rather than overwrite it, if it
+        exists when using GZip compression.  Patch by Matthew Cooke. (yoavs)
+      </fix>
     </changelog>
   </subsection> 
   <subsection name="Jasper">



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