java.lang.Object | |
↳ | org.apache.http.message.BasicLineParser |
Basic parser for lines in the head section of an HTTP message. There are individual methods for parsing a request line, a status line, or a header line. The lines to parse are passed in memory, the parser does not depend on any specific IO mechanism. Instances of this class are stateless and thread-safe. Derived classes MUST maintain these properties.
Note: This class was created by refactoring parsing code located in various other classes. The author tags from those other classes have been replicated here, although the association with the parsing code taken from there has not been traced.
Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
DEFAULT | A default instance of this class, for use as default or fallback. | |||||||||
|
protocol | A version of the protocol to parse. |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
Creates a new line parser for the given HTTP-like protocol.
|
||||||||||
|
Creates a new line parser for HTTP.
|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
Checks whether there likely is a protocol version in a line.
|
||||||||||
|
|
||||||||||
|
Creates a header from a line.
|
||||||||||
|
Parses the textual representation of a protocol version.
|
||||||||||
|
|
||||||||||
|
|
||||||||||
|
Parses a request line.
|
||||||||||
|
Parses a status line.
|
||||||||||
|
|
Protected Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
Creates a protocol version.
|
||||||||||
|
Instantiates a new request line.
|
||||||||||
|
Instantiates a new status line.
|
||||||||||
|
Helper to skip whitespace.
|
[Expand]
Inherited Methods
|
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
|
|||||||||||
From interface
org.apache.http.message.LineParser
|
A default instance of this class, for use as default or fallback.
Note that
BasicLineParser
is not a singleton, there can
be many instances of the class itself and of derived classes.
The instance here provides non-customized, default behavior.
A version of the protocol to parse. The version is typically not relevant, but the protocol name.
Creates a new line parser for the given HTTP-like protocol.
proto |
a version of the protocol to parse, or
null
for HTTP. The actual version
is not relevant, only the protocol name.
|
---|
Checks whether there likely is a protocol version in a line.
This method implements a
heuristic
to check for a
likely protocol version specification. It does
not
guarantee that
parseProtocolVersion(CharArrayBuffer, ParserCursor)
would not
detect a parse error.
This can be used to detect garbage lines before a request
or status line.
buffer | a buffer holding the line to inspect |
---|---|
cursor | the cursor at which to check for a protocol version, or negative for "end of line". Whether the check tolerates whitespace before or after the protocol version is implementation dependent. |
true
if there is a protocol version at the
argument index (possibly ignoring whitespace),
false
otherwise
ParseException |
---|
Creates a header from a line. The full header line is expected here. Header continuation lines must be joined by the caller before invoking this method.
buffer | a buffer holding the full header line. This buffer MUST NOT be re-used afterwards, since the returned object may reference the contents later. |
---|
ParseException |
---|
Parses the textual representation of a protocol version. This is needed for parsing request lines (last element) as well as status lines (first element).
buffer | a buffer holding the protocol version to parse |
---|---|
cursor | the parser cursor containing the current position and the bounds within the buffer for the parsing operation |
ParseException |
---|
ParseException |
---|
ParseException |
---|
Parses a request line.
buffer | a buffer holding the line to parse |
---|---|
cursor | the parser cursor containing the current position and the bounds within the buffer for the parsing operation |
ParseException | in case of a parse error |
---|
Parses a status line.
buffer | a buffer holding the line to parse |
---|---|
cursor | the parser cursor containing the current position and the bounds within the buffer for the parsing operation |
ParseException |
---|
ParseException |
---|
Creates a protocol version.
Called from
parseProtocolVersion(String, LineParser)
.
major | the major version number, for example 1 in HTTP/1.0 |
---|---|
minor | the minor version number, for example 0 in HTTP/1.0 |
Instantiates a new request line.
Called from
parseRequestLine(String, LineParser)
.
method | the request method |
---|---|
uri | the requested URI |
ver | the protocol version |
Instantiates a new status line.
Called from
parseStatusLine(String, LineParser)
.
ver | the protocol version |
---|---|
status | the status code |
reason | the reason phrase |
Helper to skip whitespace.