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;