|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.http.message.BasicHeaderValueParser
public class BasicHeaderValueParser
Basic implementation for parsing header values into elements. Instances of this class are stateless and thread-safe. Derived classes are expected to maintain these properties.
Field Summary | |
---|---|
static BasicHeaderValueParser |
DEFAULT
A default instance of this class, for use as default or fallback. |
Constructor Summary | |
---|---|
BasicHeaderValueParser()
|
Method Summary | |
---|---|
protected HeaderElement |
createHeaderElement(NameValuePair[] nvps)
Craetes a header element. |
protected NameValuePair |
createNameValuePair(java.lang.String name,
java.lang.String value)
Creates a name-value pair. |
HeaderElement[] |
parseElements(CharArrayBuffer buffer,
int indexFrom,
int indexTo)
Parses a header value into elements. |
static HeaderElement[] |
parseElements(java.lang.String value,
HeaderValueParser parser)
Parses elements with the given parser. |
HeaderElement |
parseHeaderElement(CharArrayBuffer buffer,
int indexFrom,
int indexTo)
Parses a single header element. |
static HeaderElement |
parseHeaderElement(java.lang.String value,
HeaderValueParser parser)
Parses an element with the given parser. |
NameValuePair |
parseNameValuePair(CharArrayBuffer buffer,
int indexFrom,
int indexTo)
Parses a name=value specification, where the = and value are optional. |
static NameValuePair |
parseNameValuePair(java.lang.String value,
HeaderValueParser parser)
Parses a name-value-pair with the given parser. |
NameValuePair[] |
parseParameters(CharArrayBuffer buffer,
int indexFrom,
int indexTo)
Parses a list of name-value pairs. |
static NameValuePair[] |
parseParameters(java.lang.String value,
HeaderValueParser parser)
Parses parameters with the given parser. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final BasicHeaderValueParser DEFAULT
BasicHeaderValueParser
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.
Constructor Detail |
---|
public BasicHeaderValueParser()
Method Detail |
---|
public static final HeaderElement[] parseElements(java.lang.String value, HeaderValueParser parser) throws ParseException
value
- the header value to parseparser
- the parser to use, or null
for default
null
ParseException
public HeaderElement[] parseElements(CharArrayBuffer buffer, int indexFrom, int indexTo)
HeaderValueParser
RuntimeException
.
Some HTTP headers (such as the set-cookie header) have values that can be decomposed into multiple elements. In order to be processed by this parser, such headers must be in the following form:
header = [ element ] *( "," [ element ] ) element = name [ "=" [ value ] ] *( ";" [ param ] ) param = name [ "=" [ value ] ] name = token value = ( token | quoted-string ) token = 1*<any char except "=", ",", ";", <"> and white space> quoted-string = <"> *( text | quoted-char ) <"> text = any char except <"> quoted-char = "\" char
Any amount of white space is allowed between any part of the
header, element or param and is ignored. A missing value in any
element or param will be stored as the empty String
;
if the "=" is also missing null will be stored instead.
parseElements
in interface HeaderValueParser
buffer
- buffer holding the header value to parse
public static final HeaderElement parseHeaderElement(java.lang.String value, HeaderValueParser parser) throws ParseException
value
- the header element to parseparser
- the parser to use, or null
for default
ParseException
public HeaderElement parseHeaderElement(CharArrayBuffer buffer, int indexFrom, int indexTo)
HeaderValueParser
parseHeaderElement
in interface HeaderValueParser
buffer
- buffer holding the element to parse
protected HeaderElement createHeaderElement(NameValuePair[] nvps)
parseHeaderElement(java.lang.String, org.apache.http.message.HeaderValueParser)
.
nvps
- the name-value pairs
public static final NameValuePair[] parseParameters(java.lang.String value, HeaderValueParser parser) throws ParseException
value
- the parameter list to parseparser
- the parser to use, or null
for default
null
ParseException
public NameValuePair[] parseParameters(CharArrayBuffer buffer, int indexFrom, int indexTo)
HeaderValueParser
RuntimeException
.
This method comforms to the generic grammar and formatting rules outlined in the Section 2.2 and Section 3.6 of RFC 2616.
The following rules are used throughout this specification to describe basic parsing constructs. The US-ASCII coded character set is defined by ANSI X3.4-1986.
OCTET =CHAR = UPALPHA = LOALPHA = ALPHA = UPALPHA | LOALPHA DIGIT = CTL = CR = LF = SP = HT = <"> =
Many HTTP/1.1 header field values consist of words separated by LWS or special characters. These special characters MUST be in a quoted string to be used within a parameter value (as defined in section 3.6).
token = 1*separators = "(" | ")" | "<" | ">" | "@" | "," | ";" | ":" | "\" | <"> | "/" | "[" | "]" | "?" | "=" | "{" | "}" | SP | HT
A string of text is parsed as a single word if it is quoted using double-quote marks.
quoted-string = ( <"> *(qdtext | quoted-pair ) <"> ) qdtext =>
The backslash character ("\") MAY be used as a single-character quoting mechanism only within quoted-string and comment constructs.
quoted-pair = "\" CHAR
Parameters are in the form of attribute/value pairs.
parameter = attribute "=" value attribute = token value = token | quoted-string
parseParameters
in interface HeaderValueParser
buffer
- buffer holding the name-value list to parse
public static final NameValuePair parseNameValuePair(java.lang.String value, HeaderValueParser parser) throws ParseException
value
- the NVP to parseparser
- the parser to use, or null
for default
ParseException
public NameValuePair parseNameValuePair(CharArrayBuffer buffer, int indexFrom, int indexTo)
parseNameValuePair
in interface HeaderValueParser
buffer
- the buffer holding the name-value pair to parse
null
if no value is specifiedprotected NameValuePair createNameValuePair(java.lang.String name, java.lang.String value)
parseNameValuePair(java.lang.String, org.apache.http.message.HeaderValueParser)
.
name
- the namevalue
- the value, or null
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |