remm 01/11/27 13:35:39 Modified: catalina/src/share/org/apache/catalina/connector/http Tag: tomcat_40_branch HttpResponseStream.java Log: - Port fix for bug 5126. Revision Changes Path No revision No revision 1.7.2.3 +30 -3 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpResponseStream.java Index: HttpResponseStream.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpResponseStream.java,v retrieving revision 1.7.2.2 retrieving revision 1.7.2.3 diff -u -r1.7.2.2 -r1.7.2.3 --- HttpResponseStream.java 2001/11/03 02:24:18 1.7.2.2 +++ HttpResponseStream.java 2001/11/27 21:35:39 1.7.2.3 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpResponseStream.java,v 1.7.2.2 2001/11/03 02:24:18 remm Exp $ - * $Revision: 1.7.2.2 $ - * $Date: 2001/11/03 02:24:18 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpResponseStream.java,v 1.7.2.3 2001/11/27 21:35:39 remm Exp $ + * $Revision: 1.7.2.3 $ + * $Date: 2001/11/27 21:35:39 $ * * ==================================================================== * @@ -66,6 +66,7 @@ import java.io.IOException; import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpServletRequest; import org.apache.catalina.Response; import org.apache.catalina.connector.ResponseStream; @@ -100,6 +101,7 @@ super(response); checkChunking(response); + checkHead(response); } @@ -119,6 +121,12 @@ private boolean writingChunk; + /** + * True if no content should be written. + */ + private boolean writeContent; + + // -------------------------------------------- ServletOutputStream Methods @@ -135,6 +143,9 @@ if (suspended) return; + if (!writeContent) + return; + if (useChunking && !writingChunk) { writingChunk = true; try { @@ -160,6 +171,9 @@ if (suspended) return; + if (!writeContent) + return; + if (useChunking && !writingChunk) { if (len > 0) { writingChunk = true; @@ -188,6 +202,9 @@ throw new IOException (sm.getString("responseStream.suspended")); + if (!writeContent) + return; + if (useChunking) { // Write the final chunk. writingChunk = true; @@ -227,6 +244,16 @@ } else if (response.isChunkingAllowed()) { response.removeHeader("Transfer-Encoding", "chunked"); } + } + + + protected void checkHead(HttpResponseImpl response) { + HttpServletRequest servletRequest = + (HttpServletRequest) response.getRequest(); + if (servletRequest.getMethod().equals("HEAD")) + writeContent = false; + else + writeContent = true; }
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>