Headers should be read with the standard connection timeout.
authormarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Mon, 5 Sep 2011 17:18:50 +0000 (17:18 +0000)
committermarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Mon, 5 Sep 2011 17:18:50 +0000 (17:18 +0000)
The upload timeout should only be used for the request body.

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1165367 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/coyote/http11/Http11AprProcessor.java
java/org/apache/coyote/http11/Http11Processor.java

index 60950e4..718a125 100644 (file)
@@ -219,11 +219,11 @@ public class Http11AprProcessor extends AbstractHttp11Processor<Long> {
                 if (!endpoint.isPaused()) {
                     request.setStartTime(System.currentTimeMillis());
                     keptAlive = true;
+                    inputBuffer.parseHeaders();
                     if (!disableUploadTimeout) {
                         Socket.timeoutSet(socketRef,
                                 connectionUploadTimeout * 1000);
                     }
-                    inputBuffer.parseHeaders();
                 }
             } catch (IOException e) {
                 if (log.isDebugEnabled()) {
index a5167f9..34f6aae 100644 (file)
@@ -212,12 +212,12 @@ public class Http11Processor extends AbstractHttp11Processor<Socket> {
                 } else {
                     request.setStartTime(System.currentTimeMillis());
                     keptAlive = true;
-                    if (disableUploadTimeout) {
-                        socket.getSocket().setSoTimeout(soTimeout);
-                    } else {
+                    // Reset timeout for reading headers
+                    socket.getSocket().setSoTimeout(soTimeout);
+                    inputBuffer.parseHeaders();
+                    if (!disableUploadTimeout) {
                         socket.getSocket().setSoTimeout(connectionUploadTimeout);
                     }
-                    inputBuffer.parseHeaders();
                 }
             } catch (IOException e) {
                 if (log.isDebugEnabled()) {