Package org.apache.http.message
Class BasicHeaderValueParser
- java.lang.Object
-
- org.apache.http.message.BasicHeaderValueParser
-
- All Implemented Interfaces:
HeaderValueParser
@Contract(threading=IMMUTABLE) public class BasicHeaderValueParser extends java.lang.Object implements HeaderValueParser
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.- Since:
- 4.0
-
-
Field Summary
Fields Modifier and Type Field Description static BasicHeaderValueParser
DEFAULT
Deprecated.(4.3) useINSTANCE
static BasicHeaderValueParser
INSTANCE
-
Constructor Summary
Constructors Constructor Description BasicHeaderValueParser()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static HeaderElement[]
parseElements(java.lang.String value, HeaderValueParser parser)
Parses elements with the given parser.HeaderElement[]
parseElements(CharArrayBuffer buffer, ParserCursor cursor)
Parses a header value into elements.static HeaderElement
parseHeaderElement(java.lang.String value, HeaderValueParser parser)
Parses an element with the given parser.HeaderElement
parseHeaderElement(CharArrayBuffer buffer, ParserCursor cursor)
Parses a single header element.static NameValuePair
parseNameValuePair(java.lang.String value, HeaderValueParser parser)
Parses a name-value-pair 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) useTokenParser
static NameValuePair[]
parseParameters(java.lang.String value, HeaderValueParser parser)
Parses parameters with the given parser.NameValuePair[]
parseParameters(CharArrayBuffer buffer, ParserCursor cursor)
Parses a list of name-value pairs.
-
-
-
Field Detail
-
DEFAULT
@Deprecated public static final BasicHeaderValueParser DEFAULT
Deprecated.(4.3) useINSTANCE
A default instance of this class, for use as default or fallback. Note thatBasicHeaderValueParser
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.
-
INSTANCE
public static final BasicHeaderValueParser INSTANCE
-
-
Method Detail
-
parseElements
public static HeaderElement[] parseElements(java.lang.String value, HeaderValueParser parser) throws ParseException
Parses elements with the given parser.- Parameters:
value
- the header value to parseparser
- the parser to use, ornull
for default- Returns:
- array holding the header elements, never
null
- Throws:
ParseException
- in case of a parsing error
-
parseElements
public HeaderElement[] parseElements(CharArrayBuffer buffer, ParserCursor cursor)
Description copied from interface:HeaderValueParser
Parses a header value into elements. Parse errors are indicated asRuntimeException
.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.- Specified by:
parseElements
in interfaceHeaderValueParser
- Parameters:
buffer
- buffer holding the header value to parsecursor
- the parser cursor containing the current position and the bounds within the buffer for the parsing operation- Returns:
- an array holding all elements of the header value
-
parseHeaderElement
public static HeaderElement parseHeaderElement(java.lang.String value, HeaderValueParser parser) throws ParseException
Parses an element with the given parser.- Parameters:
value
- the header element to parseparser
- the parser to use, ornull
for default- Returns:
- the parsed header element
- Throws:
ParseException
-
parseHeaderElement
public HeaderElement parseHeaderElement(CharArrayBuffer buffer, ParserCursor cursor)
Description copied from interface:HeaderValueParser
Parses a single header element. A header element consist of a semicolon-separate list of name=value definitions.- Specified by:
parseHeaderElement
in interfaceHeaderValueParser
- Parameters:
buffer
- buffer holding the element to parsecursor
- the parser cursor containing the current position and the bounds within the buffer for the parsing operation- Returns:
- the parsed element
-
parseParameters
public static NameValuePair[] parseParameters(java.lang.String value, HeaderValueParser parser) throws ParseException
Parses parameters with the given parser.- Parameters:
value
- the parameter list to parseparser
- the parser to use, ornull
for default- Returns:
- array holding the parameters, never
null
- Throws:
ParseException
-
parseParameters
public NameValuePair[] parseParameters(CharArrayBuffer buffer, ParserCursor cursor)
Description copied from interface:HeaderValueParser
Parses a list of name-value pairs. These lists are used to specify parameters to a header element. Parse errors are indicated asParseException
.- Specified by:
parseParameters
in interfaceHeaderValueParser
- Parameters:
buffer
- buffer holding the name-value list to parsecursor
- the parser cursor containing the current position and the bounds within the buffer for the parsing operation- Returns:
- an array holding all items of the name-value list
-
parseNameValuePair
public static NameValuePair parseNameValuePair(java.lang.String value, HeaderValueParser parser) throws ParseException
Parses a name-value-pair with the given parser.- Parameters:
value
- the NVP to parseparser
- the parser to use, ornull
for default- Returns:
- the parsed name-value pair
- Throws:
ParseException
-
parseNameValuePair
public NameValuePair parseNameValuePair(CharArrayBuffer buffer, ParserCursor cursor)
Description copied from interface:HeaderValueParser
Parses a name=value specification, where the = and value are optional.- Specified by:
parseNameValuePair
in interfaceHeaderValueParser
- Parameters:
buffer
- 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 operation- Returns:
- the name-value pair, where the value is
null
if no value is specified
-
parseNameValuePair
@Deprecated public NameValuePair parseNameValuePair(CharArrayBuffer buffer, ParserCursor cursor, char[] delimiters)
Deprecated.(4.4) useTokenParser
-
-