amyroh 2002/07/16 10:15:18 Modified: webapps/examples/WEB-INF/classes/compressionFilters CompressionFilter.java CompressionResponseStream.java Log: Add include action to be extended with parameter gzip: <jsp:include page="/pageToInclude.jsp" flush="true"> <jsp:param name="gzip" value="false"/> </jsp:include> The result was previously compressed twice in the calling page when you include. Patch submitted by "Dimitri Valdin" <[EMAIL PROTECTED]>. Thanks, Dimitri. :-) Revision Changes Path 1.7 +16 -5 jakarta-tomcat-4.0/webapps/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java Index: CompressionFilter.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- CompressionFilter.java 18 Jun 2002 19:53:25 -0000 1.6 +++ CompressionFilter.java 16 Jul 2002 17:15:18 -0000 1.7 @@ -129,7 +129,7 @@ if (str!=null) { compressionThreshold = Integer.parseInt(str); if (compressionThreshold != 0 && compressionThreshold < minThreshold) { - if (debug > 0) { + if (debug > 0) { System.out.println("compressionThreshold should be either 0 - no compression or >= " + minThreshold); System.out.println("compressionThreshold set to " + minThreshold); } @@ -191,6 +191,17 @@ if (debug > 1) { System.out.println("requestURI = " + ((HttpServletRequest)request).getRequestURI()); } + + // Are we allowed to compress ? + String s = (String) ((HttpServletRequest)request).getParameter("gzip"); + if ("false".equals(s)) { + if (debug > 0) { + System.out.println("got parameter gzip=false --> don't compress, just chain filter"); + } + chain.doFilter(request, response); + return; + } + Enumeration e = ((HttpServletRequest)request).getHeaders("Accept-Encoding"); while (e.hasMoreElements()) { 1.6 +21 -5 jakarta-tomcat-4.0/webapps/examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java Index: CompressionResponseStream.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- CompressionResponseStream.java 18 Jun 2002 19:53:25 -0000 1.5 +++ CompressionResponseStream.java 16 Jul 2002 17:15:18 -0000 1.6 @@ -189,8 +189,14 @@ if (gzipstream != null) { flushToGZip(); gzipstream.close(); + gzipstream = null; } else { if (bufferCount > 0) { + if (debug > 2) { + System.out.print("output.write("); + System.out.write(buffer, 0, bufferCount); + System.out.println(")"); + } output.write(buffer, 0, bufferCount); bufferCount = 0; } @@ -291,7 +297,9 @@ System.out.println("write, bufferCount = " + bufferCount + " len = " + len + " off = " + off); } if (debug > 2) { + System.out.print("write("); System.out.write(b, off, len); + System.out.println(")"); } if (closed) @@ -324,9 +332,17 @@ public void writeToGZip(byte b[], int off, int len) throws IOException { if (debug > 1) { - System.out.println("***** writeToGZip, len = " + len); + System.out.println("writeToGZip, len = " + len); + } + if (debug > 2) { + System.out.print("writeToGZip("); + System.out.write(b, off, len); + System.out.println(")"); } if (gzipstream == null) { + if (debug > 1) { + System.out.println("new GZIPOutputStream"); + } gzipstream = new GZIPOutputStream(output); response.addHeader("Content-Encoding", "gzip"); }
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>