org.apache.commons.httpclient
public class: StatusLine [javadoc |
source]
java.lang.Object
org.apache.commons.httpclient.StatusLine
Represents a Status-Line as returned from a HTTP server.
RFC2616 states
the following regarding the Status-Line:
6.1 Status-Line
The first line of a Response message is the Status-Line, consisting
of the protocol version followed by a numeric status code and its
associated textual phrase, with each element separated by SP
characters. No CR or LF is allowed except in the final CRLF sequence.
Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF
This class is immutable and is inherently thread safe.
Also see:
- HttpStatus
- author:
< - a href="mailto:jsdever@apache.org">Jeff Dever
- author:
< - a href="mailto:mbowler@GargoyleSoftware.com">Mike Bowler
- version:
$ - Id: StatusLine.java 480424 2006-11-29 05:56:49Z bayard $
- since:
2.0 -
| Constructor: |
public StatusLine(String statusLine) throws HttpException {
int length = statusLine.length();
int at = 0;
int start = 0;
try {
while (Character.isWhitespace(statusLine.charAt(at))) {
++at;
++start;
}
if (!"HTTP".equals(statusLine.substring(at, at += 4))) {
throw new HttpException("Status-Line '" + statusLine
+ "' does not start with HTTP");
}
//handle the HTTP-Version
at = statusLine.indexOf(" ", at);
if (at < = 0) {
throw new ProtocolException(
"Unable to parse HTTP-Version from the status line: '"
+ statusLine + "'");
}
this.httpVersion = (statusLine.substring(start, at)).toUpperCase();
//advance through spaces
while (statusLine.charAt(at) == ' ") {
at++;
}
//handle the Status-Code
int to = statusLine.indexOf(" ", at);
if (to < 0) {
to = length;
}
try {
this.statusCode = Integer.parseInt(statusLine.substring(at, to));
} catch (NumberFormatException e) {
throw new ProtocolException(
"Unable to parse status code from status line: '"
+ statusLine + "'");
}
//handle the Reason-Phrase
at = to + 1;
if (at < length) {
this.reasonPhrase = statusLine.substring(at).trim();
} else {
this.reasonPhrase = "";
}
} catch (StringIndexOutOfBoundsException e) {
throw new HttpException("Status-Line '" + statusLine + "' is not valid");
}
//save the original Status-Line
this.statusLine = statusLine;
}
Parameters:
statusLine - the status line returned from the HTTP server
Throws:
HttpException - if the status line is invalid
|
| Method from org.apache.commons.httpclient.StatusLine Detail: |
public final String getHttpVersion() {
return httpVersion;
}
|
public final String getReasonPhrase() {
return reasonPhrase;
}
|
public final int getStatusCode() {
return statusCode;
}
|
public static boolean startsWithHTTP(String s) {
try {
int at = 0;
while (Character.isWhitespace(s.charAt(at))) {
++at;
}
return ("HTTP".equals(s.substring(at, at + 4)));
} catch (StringIndexOutOfBoundsException e) {
return false;
}
}
Tests if the string starts with 'HTTP' signature. |
public final String toString() {
return statusLine;
}
Return a string representation of this object. |