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.
Summary
Constants
Fields
Public Constructors
Public Methods
Protected Methods
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
Details
Constants
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.
Fields
A version of the protocol to parse.
The version is typically not relevant, but the protocol name.
Public Constructors
Creates a new line parser for the given HTTP-like protocol.
Parameters
proto
| a version of the protocol to parse, or
null for HTTP. The actual version
is not relevant, only the protocol name.
|
public
BasicLineParser()
Creates a new line parser for HTTP.
Public Methods
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.
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.
Parses the textual representation of a protocol version.
This is needed for parsing request lines (last element)
as well as status lines (first element).
Parses a request line.
Parameters
buffer
| a buffer holding the line to parse |
Protected Methods
protected
ProtocolVersion
createProtocolVersion(int major, int minor)
Creates a protocol version.
Called from
parseProtocolVersion(String, LineParser).
Parameters
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).
Parameters
method
| the request method |
uri
| the requested URI |
ver
| the protocol version |
Returns
- a new status line with the given data
Instantiates a new status line.
Called from
parseStatusLine(String, LineParser).
Parameters
ver
| the protocol version |
status
| the status code |
reason
| the reason phrase |
Returns
- a new status line with the given data
Helper to skip whitespace.