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/10/10 19:09:27 UTC
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http HttpProcessor.java HttpRequestImpl.java HttpRequestStream.java
remm 00/10/10 10:09:26
Modified: catalina/src/share/org/apache/catalina/connector/http
HttpProcessor.java HttpRequestImpl.java
HttpRequestStream.java
Log:
- The HttpRequestStream now makes use of the new enhanced byte buffer
reading of the underlying RequestStream. This should increase
performance.
- The connection will be closed if a request is sent without specifying a
content length.
Revision Changes Path
1.9 +4 -6 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.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- HttpProcessor.java 2000/09/15 20:03:39 1.8
+++ HttpProcessor.java 2000/10/10 17:09:24 1.9
@@ -1,7 +1,7 @@
/*
- * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpProcessor.java,v 1.8 2000/09/15 20:03:39 craigmcc Exp $
- * $Revision: 1.8 $
- * $Date: 2000/09/15 20:03:39 $
+ * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpProcessor.java,v 1.9 2000/10/10 17:09:24 remm Exp $
+ * $Revision: 1.9 $
+ * $Date: 2000/10/10 17:09:24 $
*
* ====================================================================
*
@@ -106,7 +106,7 @@
*
* @author Craig R. McClanahan
* @author Remy Maucherat
- * @version $Revision: 1.8 $ $Date: 2000/09/15 20:03:39 $
+ * @version $Revision: 1.9 $ $Date: 2000/10/10 17:09:24 $
*/
final class HttpProcessor
@@ -733,8 +733,6 @@
keepAlive = true;
while (ok && keepAlive) {
-
- //System.out.println("Parsing request");
try {
request.setStream(input);
1.2 +5 -5 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpRequestImpl.java
Index: HttpRequestImpl.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpRequestImpl.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- HttpRequestImpl.java 2000/08/11 22:40:52 1.1
+++ HttpRequestImpl.java 2000/10/10 17:09:24 1.2
@@ -1,7 +1,7 @@
/*
- * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpRequestImpl.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/HttpRequestImpl.java,v 1.2 2000/10/10 17:09:24 remm Exp $
+ * $Revision: 1.2 $
+ * $Date: 2000/10/10 17:09:24 $
*
* ====================================================================
*
@@ -75,7 +75,7 @@
* Implementation of <b>HttpRequest</b> specific to the HTTP connector.
*
* @author Craig R. McClanahan
- * @version $Revision: 1.1 $ $Date: 2000/08/11 22:40:52 $
+ * @version $Revision: 1.2 $ $Date: 2000/10/10 17:09:24 $
*/
final class HttpRequestImpl
@@ -162,7 +162,7 @@
*/
public ServletInputStream createInputStream() throws IOException {
- return (new HttpRequestStream(this));
+ return (new HttpRequestStream(this, (HttpResponseImpl) response));
}
1.2 +17 -18 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpRequestStream.java
Index: HttpRequestStream.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpRequestStream.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- HttpRequestStream.java 2000/08/11 22:40:52 1.1
+++ HttpRequestStream.java 2000/10/10 17:09:25 1.2
@@ -1,7 +1,7 @@
/*
- * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpRequestStream.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/HttpRequestStream.java,v 1.2 2000/10/10 17:09:25 remm Exp $
+ * $Revision: 1.2 $
+ * $Date: 2000/10/10 17:09:25 $
*
* ====================================================================
*
@@ -83,8 +83,10 @@
* Construct a servlet input stream associated with the specified Request.
*
* @param request The associated request
+ * @param response The associated response
*/
- public HttpRequestStream(HttpRequestImpl request) {
+ public HttpRequestStream(HttpRequestImpl request,
+ HttpResponseImpl response) {
super(request);
String transferEncoding = request.getHeader("Transfer-Encoding");
@@ -92,6 +94,11 @@
chunk = ((transferEncoding != null)
&& (transferEncoding.indexOf("chunked") != -1));
+ if ((!chunk) && (length == -1)) {
+ // Ask for connection close
+ response.addHeader("Connection", "close");
+ }
+
}
@@ -224,8 +231,8 @@
while (nbRead < chunkLength) {
currentRead =
- stream.read(chunkBuffer, nbRead,
- chunkLength - nbRead);
+ super.read(chunkBuffer, nbRead,
+ chunkLength - nbRead);
if (currentRead == -1)
throw new IOException
(sm.getString("requestStream.read.error"));
@@ -233,8 +240,8 @@
}
// Skipping the CRLF
- stream.read();
- stream.read();
+ super.read();
+ super.read();
}
@@ -243,16 +250,8 @@
return (chunkBuffer[chunkPos++]);
} else {
-
- // Have we read the specified content length already?
- if ((length >= 0) && (count >= length))
- return (-1); // End of file indicator
- // Read and count the next byte, then return it
- int b = stream.read();
- if (b >= 0)
- count++;
- return (b);
+ return (super.read());
}
@@ -277,7 +276,7 @@
StringBuffer sb = new StringBuffer();
while (true) {
- int ch = stream.read();
+ int ch = super.read();
if (ch < 0) {
if (sb.length() == 0) {
return (null);