remm        00/11/09 13:16:02

  Modified:    catalina/src/share/org/apache/catalina/connector/http
                        HttpResponseImpl.java
  Log:
  - Important bug fix : When the output stream was never requested by the
    client, the content length wasn't properly set (and a end of response chunk
    wasn't generated either). The finishResponse method of HttpResponseImpl
    will now take care of that.
    Thanks (a lot) to Ray Allis for mentioning that some OPTIONS requests
    were causing timeouts problems in some DAV clients. Hopefully, that also
    fixes the compatibility issues with those clients.
  
  Revision  Changes    Path
  1.5       +27 -4     
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpResponseImpl.java
  
  Index: HttpResponseImpl.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpResponseImpl.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- HttpResponseImpl.java     2000/11/09 20:15:50     1.4
  +++ HttpResponseImpl.java     2000/11/09 21:16:02     1.5
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpResponseImpl.java,v
 1.4 2000/11/09 20:15:50 remm Exp $
  - * $Revision: 1.4 $
  - * $Date: 2000/11/09 20:15:50 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpResponseImpl.java,v
 1.5 2000/11/09 21:16:02 remm Exp $
  + * $Revision: 1.5 $
  + * $Date: 2000/11/09 21:16:02 $
    *
    * ====================================================================
    *
  @@ -78,7 +78,7 @@
    *
    * @author Craig R. McClanahan
    * @author <a href="mailto:[EMAIL PROTECTED]">Remy Maucherat</a>
  - * @version $Revision: 1.4 $ $Date: 2000/11/09 20:15:50 $
  + * @version $Revision: 1.5 $ $Date: 2000/11/09 21:16:02 $
    */
   
   final class HttpResponseImpl
  @@ -243,6 +243,29 @@
                       headers.remove(name);
               }
        }
  +
  +    }
  +
  +
  +    /**
  +     * Has stream been created ?
  +     */
  +    public boolean isStreamInitialized() {
  +        return (responseStream != null);
  +    }
  +
  +
  +    /**
  +     * Perform whatever actions are required to flush and close the output
  +     * stream or writer, in a single operation.
  +     *
  +     * @exception IOException if an input/output error occurs
  +     */
  +    public void finishResponse() throws IOException {
  +
  +        if (!isStreamInitialized())
  +            setContentLength(0);
  +        super.finishResponse();
   
       }
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to