diff options
author | Greg Wilkins | 2013-04-04 05:05:27 +0000 |
---|---|---|
committer | Greg Wilkins | 2013-04-04 05:05:27 +0000 |
commit | 060389147bbdec48a3a9e24fb07b8c2db148a6f8 (patch) | |
tree | 991ce54990119c16d3abac8f336d9e3d9d9d1db3 | |
parent | df6e18cc0037d91b5986c5b689eec7bf5f13066f (diff) | |
download | org.eclipse.jetty.project-060389147bbdec48a3a9e24fb07b8c2db148a6f8.tar.gz org.eclipse.jetty.project-060389147bbdec48a3a9e24fb07b8c2db148a6f8.tar.xz org.eclipse.jetty.project-060389147bbdec48a3a9e24fb07b8c2db148a6f8.zip |
404128 Add Vary headers rather than set them
3 files changed, 18 insertions, 30 deletions
diff --git a/jetty-http/src/main/java/org/eclipse/jetty/http/gzip/AbstractCompressedStream.java b/jetty-http/src/main/java/org/eclipse/jetty/http/gzip/AbstractCompressedStream.java index 8317914d9c..3094d3a466 100644 --- a/jetty-http/src/main/java/org/eclipse/jetty/http/gzip/AbstractCompressedStream.java +++ b/jetty-http/src/main/java/org/eclipse/jetty/http/gzip/AbstractCompressedStream.java @@ -234,7 +234,7 @@ public abstract class AbstractCompressedStream extends ServletOutputStream setHeader("Content-Encoding", _encoding); if (_response.containsHeader("Content-Encoding")) { - setHeader("Vary",_vary); + addHeader("Vary",_vary); _out=_compressedOutputStream=createStream(); if (_out!=null) { @@ -269,7 +269,7 @@ public abstract class AbstractCompressedStream extends ServletOutputStream if (_out == null || _bOut != null) { if (sendVary) - setHeader("Vary",_vary); + addHeader("Vary",_vary); if (_wrapper.getETag()!=null) setHeader("ETag",_wrapper.getETag()); @@ -341,6 +341,11 @@ public abstract class AbstractCompressedStream extends ServletOutputStream return encoding == null?new PrintWriter(out):new PrintWriter(new OutputStreamWriter(out,encoding)); } + protected void addHeader(String name,String value) + { + _response.addHeader(name, value); + } + protected void setHeader(String name,String value) { _response.setHeader(name, value); diff --git a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/DefaultServlet.java b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/DefaultServlet.java index 3c31e08e78..5b5f32b899 100644 --- a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/DefaultServlet.java +++ b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/DefaultServlet.java @@ -454,7 +454,7 @@ public class DefaultServlet extends HttpServlet implements ResourceFactory if (resource!=null && resource.exists() && !resource.isDirectory()) { // Tell caches that response may vary by accept-encoding - response.setHeader(HttpHeaders.VARY,HttpHeaders.ACCEPT_ENCODING); + response.addHeader(HttpHeaders.VARY,HttpHeaders.ACCEPT_ENCODING); // Does the client accept gzip? String accept=request.getHeader(HttpHeaders.ACCEPT_ENCODING); diff --git a/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/IncludableGzipFilter.java b/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/IncludableGzipFilter.java index 5ba2be0022..d07787f7b8 100644 --- a/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/IncludableGzipFilter.java +++ b/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/IncludableGzipFilter.java @@ -84,15 +84,6 @@ public class IncludableGzipFilter extends GzipFilter { return null; } - - @Override - protected void setHeader(String name, String value) - { - super.setHeader(name, value); - HttpServletResponse response = (HttpServletResponse)getResponse(); - if (!response.containsHeader(name)) - response.setHeader("org.eclipse.jetty.server.include." + name, value); - } }; } }; @@ -111,15 +102,6 @@ public class IncludableGzipFilter extends GzipFilter { return new GZIPOutputStream(_response.getOutputStream(),_bufferSize); } - - @Override - protected void setHeader(String name, String value) - { - super.setHeader(name, value); - HttpServletResponse response = (HttpServletResponse)getResponse(); - if (!response.containsHeader(name)) - response.setHeader("org.eclipse.jetty.server.include." + name, value); - } }; } }; @@ -138,15 +120,6 @@ public class IncludableGzipFilter extends GzipFilter { return new DeflaterOutputStream(_response.getOutputStream(),new Deflater(_deflateCompressionLevel, _deflateNoWrap)); } - - @Override - protected void setHeader(String name, String value) - { - super.setHeader(name, value); - HttpServletResponse response = (HttpServletResponse)getResponse(); - if (!response.containsHeader(name)) - response.setHeader("org.eclipse.jetty.server.include." + name, value); - } }; } }; @@ -176,6 +149,16 @@ public class IncludableGzipFilter extends GzipFilter if (!response.containsHeader(name)) response.setHeader("org.eclipse.jetty.server.include."+name,value); } + + @Override + public void addHeader(String name, String value) + { + super.addHeader(name, value); + HttpServletResponse response = (HttpServletResponse)getResponse(); + if (!response.containsHeader(name)) + setHeader(name,value); + } + @Override protected PrintWriter newWriter(OutputStream out, String encoding) throws UnsupportedEncodingException { |