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]>

Reply via email to