mbecke 2003/03/31 16:25:24 Modified: httpclient/src/java/org/apache/commons/httpclient HttpMethodBase.java StatusLine.java Log: Adds support for unusual HTTP status line returned by some servers. PR: 18439 Reviewed by: Jeff Dever and Oleg Kalnichevski Revision Changes Path 1.127 +12 -6 jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/HttpMethodBase.java Index: HttpMethodBase.java =================================================================== RCS file: /home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/HttpMethodBase.java,v retrieving revision 1.126 retrieving revision 1.127 diff -u -r1.126 -r1.127 --- HttpMethodBase.java 27 Mar 2003 20:58:27 -0000 1.126 +++ HttpMethodBase.java 1 Apr 2003 00:25:24 -0000 1.127 @@ -2000,7 +2000,10 @@ //read out the HTTP status string String statusString = conn.readLine(); - while ((statusString != null) && !statusString.startsWith("HTTP/")) { + while ((statusString != null) && !statusString.startsWith("HTTP")) { + if (Wire.enabled()) { + Wire.input(statusString + "\r\n"); + } statusString = conn.readLine(); } if (statusString == null) { @@ -2008,7 +2011,7 @@ // response. Try again. throw new HttpRecoverableException("Error in parsing the status " + " line from the response: unable to find line starting with" - + " \"HTTP/\""); + + " \"HTTP\""); } if (Wire.enabled()) { Wire.input(statusString + "\r\n"); @@ -2022,6 +2025,9 @@ http11 = false; } else if (httpVersion.equals("HTTP/1.1")) { http11 = true; + } else if (httpVersion.equals("HTTP")) { + // some servers do not specify the version correctly, we will just assume 1.0 + http11 = false; } else { throw new HttpException("Unrecognized server protocol: '" + httpVersion + "'"); 1.9 +6 -6 jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/StatusLine.java Index: StatusLine.java =================================================================== RCS file: /home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/StatusLine.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- StatusLine.java 30 Jan 2003 05:01:54 -0000 1.8 +++ StatusLine.java 1 Apr 2003 00:25:24 -0000 1.9 @@ -121,9 +121,9 @@ //check validity of the Status-Line - if (!statusLine.startsWith("HTTP/")) { + if (!statusLine.startsWith("HTTP")) { throw new HttpException("Status-Line '" + statusLine - + "' does not start with HTTP/"); + + "' does not start with HTTP"); } //handle the HTTP-Version
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]