You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@locus.apache.org on 2000/08/19 07:29:17 UTC

cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core StandardWrapperValve.java

remm        00/08/18 22:29:17

  Modified:    catalina/src/share/org/apache/catalina/connector
                        HttpResponseBase.java
               catalina/src/share/org/apache/catalina/connector/http
                        HttpProcessor.java HttpResponseStream.java
               catalina/src/share/org/apache/catalina/core
                        StandardWrapperValve.java
  Log:
  - HTTP redirect response (sendRedirect() call) was incorrect
  - HTTP/1.1 : Will always make sure the connection is closed if a
    status >= 400 is returned, to avoid any potential problem
  
  Revision  Changes    Path
  1.2       +5 -4      jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/HttpResponseBase.java
  
  Index: HttpResponseBase.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/HttpResponseBase.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- HttpResponseBase.java	2000/08/11 22:40:19	1.1
  +++ HttpResponseBase.java	2000/08/19 05:29:15	1.2
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/HttpResponseBase.java,v 1.1 2000/08/11 22:40:19 craigmcc Exp $
  - * $Revision: 1.1 $
  - * $Date: 2000/08/11 22:40:19 $
  + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/HttpResponseBase.java,v 1.2 2000/08/19 05:29:15 remm Exp $
  + * $Revision: 1.2 $
  + * $Date: 2000/08/19 05:29:15 $
    *
    * ====================================================================
    *
  @@ -95,7 +95,7 @@
    * methods need to be implemented.
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.1 $ $Date: 2000/08/11 22:40:19 $
  + * @version $Revision: 1.2 $ $Date: 2000/08/19 05:29:15 $
    */
   
   public class HttpResponseBase
  @@ -920,6 +920,7 @@
   	String absolute = toAbsolute(location);
   	setStatus(SC_MOVED_TEMPORARILY, absolute);
   	setHeader("Location", absolute);
  +        setContentLength(0);
   	flushBuffer();
   
       }
  
  
  
  1.2       +8 -4      jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpProcessor.java
  
  Index: HttpProcessor.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpProcessor.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- HttpProcessor.java	2000/08/11 22:40:52	1.1
  +++ HttpProcessor.java	2000/08/19 05:29:16	1.2
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpProcessor.java,v 1.1 2000/08/11 22:40:52 craigmcc Exp $
  - * $Revision: 1.1 $
  - * $Date: 2000/08/11 22:40:52 $
  + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpProcessor.java,v 1.2 2000/08/19 05:29:16 remm Exp $
  + * $Revision: 1.2 $
  + * $Date: 2000/08/19 05:29:16 $
    *
    * ====================================================================
    *
  @@ -105,7 +105,7 @@
    *
    * @author Craig R. McClanahan
    * @author Remy Maucherat
  - * @version $Revision: 1.1 $ $Date: 2000/08/11 22:40:52 $
  + * @version $Revision: 1.2 $ $Date: 2000/08/19 05:29:16 $
    */
   
   final class HttpProcessor
  @@ -828,6 +828,10 @@
               // and keep-alive).
               if ( "close".equals(((HttpResponseImpl) response)
                                   .getHeader("Connection")) ) {
  +                keepAlive = false;
  +            }
  +            // If the status is an error, the connection is closed
  +            if ( ((HttpResponseImpl) response).getStatus() >= 400 ) {
                   keepAlive = false;
               }
               
  
  
  
  1.2       +5 -4      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.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- HttpResponseStream.java	2000/08/11 22:40:53	1.1
  +++ HttpResponseStream.java	2000/08/19 05:29:16	1.2
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpResponseStream.java,v 1.1 2000/08/11 22:40:53 craigmcc Exp $
  - * $Revision: 1.1 $
  - * $Date: 2000/08/11 22:40:53 $
  + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpResponseStream.java,v 1.2 2000/08/19 05:29:16 remm Exp $
  + * $Revision: 1.2 $
  + * $Date: 2000/08/19 05:29:16 $
    *
    * ====================================================================
    * 
  @@ -98,7 +98,8 @@
       public HttpResponseStream(HttpResponseImpl response) {
   
   	super(response);
  -        this.useChunking = (response.isChunkingAllowed()
  +        this.useChunking = (!response.isCommitted()
  +                            && response.isChunkingAllowed()
                               && response.getContentLength() == -1
                               && response.getStatus() != 206
                               && response.getStatus() != 304);
  
  
  
  1.2       +10 -10    jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardWrapperValve.java
  
  Index: StandardWrapperValve.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardWrapperValve.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- StandardWrapperValve.java	2000/08/11 23:40:45	1.1
  +++ StandardWrapperValve.java	2000/08/19 05:29:16	1.2
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardWrapperValve.java,v 1.1 2000/08/11 23:40:45 craigmcc Exp $
  - * $Revision: 1.1 $
  - * $Date: 2000/08/11 23:40:45 $
  + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardWrapperValve.java,v 1.2 2000/08/19 05:29:16 remm Exp $
  + * $Revision: 1.2 $
  + * $Date: 2000/08/19 05:29:16 $
    *
    * ====================================================================
    *
  @@ -98,7 +98,7 @@
    * <code>StandardWrapper</code> container implementation.
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.1 $ $Date: 2000/08/11 23:40:45 $
  + * @version $Revision: 1.2 $ $Date: 2000/08/19 05:29:16 $
    */
   
   final class StandardWrapperValve
  @@ -499,6 +499,12 @@
   	if (message == null)
   	    message = "";
   
  +	// Do nothing on an OK status
  +	if (statusCode == HttpServletResponse.SC_OK)
  +	    return;
  +        if (statusCode < 400)
  +            return;
  +
   	// Handle a custom error page for this status code
   	Context context = (Context) container.getParent();
   	ErrorPage errorPage = context.findErrorPage(statusCode);
  @@ -510,12 +516,6 @@
   	    if (custom(request, response, errorPage))
   		return;
   	}
  -
  -	// Do nothing on an OK status
  -	if (statusCode == HttpServletResponse.SC_OK)
  -	    return;
  -        if (statusCode < 300)
  -            return;
   
   	// Do nothing if there is no report for the specified status code
   	String report = null;