You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by cr...@apache.org on 2001/12/15 02:02:35 UTC

cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector ResponseFacade.java

craigmcc    01/12/14 17:02:35

  Modified:    catalina/src/share/org/apache/catalina/connector
                        ResponseFacade.java
  Log:
  Make calling response.getOutputStream(), response.getWriter(), and
  response.flushBuffer() non-fatal even if the response has already been
  finished -- just ignore any subsequent output and we conform to spec
  requirements.
  
  IMHO the functional logic sprinkled in ResponseFacade should *really* be
  refactored into the ResponseBase class.  The facades are there for
  security, and shouldn't have any functional responsibility.  But that's
  for a later time ...
  
  Revision  Changes    Path
  1.5       +21 -14    jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/ResponseFacade.java
  
  Index: ResponseFacade.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/ResponseFacade.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ResponseFacade.java	2001/09/28 16:53:49	1.4
  +++ ResponseFacade.java	2001/12/15 01:02:35	1.5
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/ResponseFacade.java,v 1.4 2001/09/28 16:53:49 remm Exp $
  - * $Revision: 1.4 $
  - * $Date: 2001/09/28 16:53:49 $
  + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/ResponseFacade.java,v 1.5 2001/12/15 01:02:35 craigmcc Exp $
  + * $Revision: 1.5 $
  + * $Date: 2001/12/15 01:02:35 $
    *
    * ====================================================================
    *
  @@ -80,7 +80,7 @@
    * object.  All methods are delegated to the wrapped response.
    *
    * @author Remy Maucherat
  - * @version $Revision: 1.4 $ $Date: 2001/09/28 16:53:49 $
  + * @version $Revision: 1.5 $ $Date: 2001/12/15 01:02:35 $
    */
   
   public class ResponseFacade implements ServletResponse {
  @@ -143,11 +143,14 @@
       public ServletOutputStream getOutputStream()
           throws IOException {
   
  -        if (isFinished())
  -            throw new IllegalStateException
  -                (/*sm.getString("responseFacade.finished")*/);
  +        //        if (isFinished())
  +        //            throw new IllegalStateException
  +        //                (/*sm.getString("responseFacade.finished")*/);
   
  -        return response.getOutputStream();
  +        ServletOutputStream sos = response.getOutputStream();
  +        if (isFinished())
  +            resp.setSuspended(true);
  +        return (sos);
   
       }
   
  @@ -155,11 +158,14 @@
       public PrintWriter getWriter()
           throws IOException {
   
  -        if (isFinished())
  -            throw new IllegalStateException
  -                (/*sm.getString("responseFacade.finished")*/);
  +        //        if (isFinished())
  +        //            throw new IllegalStateException
  +        //                (/*sm.getString("responseFacade.finished")*/);
   
  -        return response.getWriter();
  +        PrintWriter writer = response.getWriter();
  +        if (isFinished())
  +            resp.setSuspended(true);
  +        return (writer);
   
       }
   
  @@ -204,8 +210,9 @@
           throws IOException {
   
           if (isFinished())
  -            throw new IllegalStateException
  -                (/*sm.getString("responseFacade.finished")*/);
  +            //            throw new IllegalStateException
  +            //                (/*sm.getString("responseFacade.finished")*/);
  +            return;
   
           resp.setAppCommitted(true);
   
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>