From e7658ba829c5a0ca8d9ae966737ed1d8e639d7b6 Mon Sep 17 00:00:00 2001 From: Thomas Becker Date: Mon, 16 Jul 2012 18:57:16 +0200 Subject: [PATCH] 385136: set header prefix in IncludableGzipFilter to make sure that header is being set --- .../jetty/servlets/IncludableGzipFilter.java | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) 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 50ee23ae346..f6a308bb7ff 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 @@ -79,6 +79,15 @@ 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); + } }; } }; @@ -97,6 +106,15 @@ 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); + } }; } }; @@ -108,8 +126,8 @@ public class IncludableGzipFilter extends GzipFilter configureWrappedResponse(wrappedResponse); return wrappedResponse; } - - + + // Extend CompressedResponseWrapper to be able to set headers during include and to create unchecked printwriters private abstract class IncludableResponseWrapper extends CompressedResponseWrapper { @@ -124,7 +142,7 @@ public class IncludableGzipFilter extends GzipFilter super.setHeader(name,value); HttpServletResponse response = (HttpServletResponse)getResponse(); if (!response.containsHeader(name)) - response.setHeader("org.eclipse.jetty.server.include."+name,value);; + response.setHeader("org.eclipse.jetty.server.include."+name,value); } @Override protected PrintWriter newWriter(OutputStream out, String encoding) throws UnsupportedEncodingException