Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Wilkins2013-04-04 05:05:27 +0000
committerGreg Wilkins2013-04-04 05:05:27 +0000
commit060389147bbdec48a3a9e24fb07b8c2db148a6f8 (patch)
tree991ce54990119c16d3abac8f336d9e3d9d9d1db3
parentdf6e18cc0037d91b5986c5b689eec7bf5f13066f (diff)
downloadorg.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
-rw-r--r--jetty-http/src/main/java/org/eclipse/jetty/http/gzip/AbstractCompressedStream.java9
-rw-r--r--jetty-servlet/src/main/java/org/eclipse/jetty/servlet/DefaultServlet.java2
-rw-r--r--jetty-servlets/src/main/java/org/eclipse/jetty/servlets/IncludableGzipFilter.java37
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
{

Back to the top