@Contract(threading=IMMUTABLE) public class BasicHeaderValueParser extends Object implements HeaderValueParser
| Modifier and Type | Field and Description |
|---|---|
static BasicHeaderValueParser |
DEFAULT
Deprecated.
(4.3) use
INSTANCE |
static BasicHeaderValueParser |
INSTANCE |
| Constructor and Description |
|---|
BasicHeaderValueParser() |
| Modifier and Type | Method and Description |
|---|---|
protected HeaderElement |
createHeaderElement(String name,
String value,
NameValuePair[] params)
Creates a header element.
|
protected NameValuePair |
createNameValuePair(String name,
String value)
Creates a name-value pair.
|
HeaderElement[] |
parseElements(CharArrayBuffer buffer,
ParserCursor cursor)
Parses a header value into elements.
|
static HeaderElement[] |
parseElements(String value,
HeaderValueParser parser)
Parses elements with the given parser.
|
HeaderElement |
parseHeaderElement(CharArrayBuffer buffer,
ParserCursor cursor)
Parses a single header element.
|
static HeaderElement |
parseHeaderElement(String value,
HeaderValueParser parser)
Parses an element with the given parser.
|
NameValuePair |
parseNameValuePair(CharArrayBuffer buffer,
ParserCursor cursor)
Parses a name=value specification, where the = and value are optional.
|
NameValuePair |
parseNameValuePair(CharArrayBuffer buffer,
ParserCursor cursor,
char[] delimiters)
Deprecated.
(4.4) use
TokenParser |
static NameValuePair |
parseNameValuePair(String value,
HeaderValueParser parser)
Parses a name-value-pair with the given parser.
|
NameValuePair[] |
parseParameters(CharArrayBuffer buffer,
ParserCursor cursor)
Parses a list of name-value pairs.
|
static NameValuePair[] |
parseParameters(String value,
HeaderValueParser parser)
Parses parameters with the given parser.
|
@Deprecated public static final BasicHeaderValueParser DEFAULT
INSTANCEBasicHeaderValueParser 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.public static final BasicHeaderValueParser INSTANCE
public static HeaderElement[] parseElements(String value, HeaderValueParser parser) throws ParseException
value - the header value to parseparser - the parser to use, or null for defaultnullParseException - in case of a parsing errorpublic HeaderElement[] parseElements(CharArrayBuffer buffer, ParserCursor cursor)
HeaderValueParserRuntimeException.
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.
Note that this parser does not apply to list-typed HTTP header fields in general; it is only suitable for fields that use the syntax described above. Counter-examples are "Link" (RFC 8288), "If-None-Match" (RFC 7232) or "Dav" (RFC 4918).
parseElements in interface HeaderValueParserbuffer - buffer holding the header value to parsecursor - the parser cursor containing the current position and
the bounds within the buffer for the parsing operationpublic static HeaderElement parseHeaderElement(String value, HeaderValueParser parser) throws ParseException
value - the header element to parseparser - the parser to use, or null for defaultParseExceptionpublic HeaderElement parseHeaderElement(CharArrayBuffer buffer, ParserCursor cursor)
HeaderValueParserparseHeaderElement in interface HeaderValueParserbuffer - buffer holding the element to parsecursor - the parser cursor containing the current position and
the bounds within the buffer for the parsing operationprotected HeaderElement createHeaderElement(String name, String value, NameValuePair[] params)
parseHeaderElement(java.lang.String, org.apache.http.message.HeaderValueParser).public static NameValuePair[] parseParameters(String value, HeaderValueParser parser) throws ParseException
value - the parameter list to parseparser - the parser to use, or null for defaultnullParseExceptionpublic NameValuePair[] parseParameters(CharArrayBuffer buffer, ParserCursor cursor)
HeaderValueParserParseException.parseParameters in interface HeaderValueParserbuffer - buffer holding the name-value list to parsecursor - the parser cursor containing the current position and
the bounds within the buffer for the parsing operationpublic static NameValuePair parseNameValuePair(String value, HeaderValueParser parser) throws ParseException
value - the NVP to parseparser - the parser to use, or null for defaultParseExceptionpublic NameValuePair parseNameValuePair(CharArrayBuffer buffer, ParserCursor cursor)
HeaderValueParserparseNameValuePair in interface HeaderValueParserbuffer - the buffer holding the name-value pair to parsecursor - the parser cursor containing the current position and
the bounds within the buffer for the parsing operationnull
if no value is specified@Deprecated public NameValuePair parseNameValuePair(CharArrayBuffer buffer, ParserCursor cursor, char[] delimiters)
TokenParserprotected NameValuePair createNameValuePair(String name, String value)
parseNameValuePair(java.lang.String, org.apache.http.message.HeaderValueParser).name - the namevalue - the value, or nullCopyright © 2005–2022 The Apache Software Foundation. All rights reserved.