You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by sj...@apache.org on 2008/08/03 07:39:29 UTC

svn commit: r682105 - /mina/asyncweb/branches/1.0/client/src/main/java/org/apache/asyncweb/client/codec/HttpResponseDecoder.java

Author: sjlee
Date: Sat Aug  2 22:39:29 2008
New Revision: 682105

URL: http://svn.apache.org/viewvc?rev=682105&view=rev
Log:
ASYNCWEB-18

If HttpResponseDecoder fails to read the full status line from the next (actual) response after the continue response, the state should be reset to the start state before returning.  The state should transition to status_read only if we did read the status line.

Modified:
    mina/asyncweb/branches/1.0/client/src/main/java/org/apache/asyncweb/client/codec/HttpResponseDecoder.java

Modified: mina/asyncweb/branches/1.0/client/src/main/java/org/apache/asyncweb/client/codec/HttpResponseDecoder.java
URL: http://svn.apache.org/viewvc/mina/asyncweb/branches/1.0/client/src/main/java/org/apache/asyncweb/client/codec/HttpResponseDecoder.java?rev=682105&r1=682104&r2=682105&view=diff
==============================================================================
--- mina/asyncweb/branches/1.0/client/src/main/java/org/apache/asyncweb/client/codec/HttpResponseDecoder.java (original)
+++ mina/asyncweb/branches/1.0/client/src/main/java/org/apache/asyncweb/client/codec/HttpResponseDecoder.java Sat Aug  2 22:39:29 2008
@@ -84,12 +84,16 @@
 
                     //Check if the entire response headers have been read
                     if (line.length() == 0) {
-                        response.setState(HttpResponseMessage.STATE_STATUS_READ);
-
                         //The next line should be a header
                         if (!processStatus(response, in)) {
+                            // the continue response is completely read but we
+                            // didn't get the full status line from the next
+                            // response; reset the state to STATE_START
+                            response.setState(HttpResponseMessage.STATE_START);
                             throw new NeedMoreDataException();
                         }
+                        // status was processed
+                        response.setState(HttpResponseMessage.STATE_STATUS_READ);
                         break;
                     }
                 }