hgomez 2002/12/19 01:13:16 Modified: http11/src/java/org/apache/coyote/http11 Http11Processor.java Log: If content is allready gzipped, no need to recompress it Revision Changes Path 1.49 +26 -10 jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/Http11Processor.java Index: Http11Processor.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/Http11Processor.java,v retrieving revision 1.48 retrieving revision 1.49 diff -u -r1.48 -r1.49 --- Http11Processor.java 18 Dec 2002 20:36:58 -0000 1.48 +++ Http11Processor.java 19 Dec 2002 09:13:16 -0000 1.49 @@ -257,6 +257,12 @@ /** + * Minimum contentsize to make compression. + */ + protected int compressionMinSize = 2048; + + + /** * Host name (used to avoid useless B2C conversion on the host name). */ protected char[] hostNameC = new char[0]; @@ -976,17 +982,27 @@ request.getMimeHeaders().getValue("accept-encoding"); if ((acceptEncodingMB != null) && (acceptEncodingMB.indexOf("gzip") != -1)) { - // Check content-type - if (compressionLevel == 1) { - int contentLength = response.getContentLength(); - // FIXME: Make the value configurable - if ((contentLength == -1) || (contentLength > 2048)) { - useCompression = - response.getContentType().startsWith("text/"); - } - } else { - useCompression = true; + + // Check in content is not allready gzipped + MessageBytes contentEncodingMB = + response.getMimeHeaders().getValue("Content-Encoding"); + + if ((contentEncodingMB == null) + || (contentEncodingMB.indexOf("gzip") == -1)) + { + // Check content-type + if (compressionLevel == 1) { + int contentLength = response.getContentLength(); + // FIXME: Make the value configurable + if ((contentLength == -1) || (contentLength > compressionMinSize)) { + useCompression = + response.getContentType().startsWith("text/"); + } + } else { + useCompression = true; + } } + // Change content-length to -1 to force chunking if (useCompression) { response.setContentLength(-1);
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>