Author: markt
Date: Tue Sep  6 15:54:51 2011
New Revision: 1165728

URL: http://svn.apache.org/viewvc?rev=1165728&view=rev
Log:
More connector alignment - request header parsing

Modified:
    tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java
    tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java
    tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java

Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java?rev=1165728&r1=1165727&r2=1165728&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java 
(original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java Tue Sep  
6 15:54:51 2011
@@ -217,7 +217,14 @@ public class Http11AprProcessor extends 
                 } else {
                     request.setStartTime(System.currentTimeMillis());
                     keptAlive = true;
-                    inputBuffer.parseHeaders();
+                    // Currently only NIO will ever return false here
+                    if (!inputBuffer.parseHeaders()) {
+                        // We've read part of the request, don't recycle it
+                        // instead associate it with the socket
+                        openSocket = true;
+                        readComplete = false;
+                        break;
+                    }
                     if (!disableUploadTimeout) {
                         Socket.timeoutSet(socketRef,
                                 connectionUploadTimeout * 1000);

Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java?rev=1165728&r1=1165727&r2=1165728&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java 
(original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java Tue Sep  
6 15:54:51 2011
@@ -244,9 +244,10 @@ public class Http11NioProcessor extends 
                 } else {
                     request.setStartTime(System.currentTimeMillis());
                     keptAlive = true;
-                    if ( !inputBuffer.parseHeaders() ) {
-                        //we've read part of the request, don't recycle it
-                        //instead associate it with the socket
+                    // Currently only NIO will ever return false here
+                    if (!inputBuffer.parseHeaders()) {
+                        // We've read part of the request, don't recycle it
+                        // instead associate it with the socket
                         openSocket = true;
                         readComplete = false;
                         break;

Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java?rev=1165728&r1=1165727&r2=1165728&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java Tue Sep  6 
15:54:51 2011
@@ -181,7 +181,14 @@ public class Http11Processor extends Abs
                     keptAlive = true;
                     // Reset timeout for reading headers
                     socket.getSocket().setSoTimeout(endpoint.getSoTimeout());
-                    inputBuffer.parseHeaders();
+                    // Currently only NIO will ever return false here
+                    if (!inputBuffer.parseHeaders()) {
+                        // We've read part of the request, don't recycle it
+                        // instead associate it with the socket
+                        openSocket = true;
+                        readComplete = false;
+                        break;
+                    }
                     if (!disableUploadTimeout) {
                         
socket.getSocket().setSoTimeout(connectionUploadTimeout);
                     }



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to