Package org.apache.http.message
Interface HeaderValueParser
-
- All Known Implementing Classes:
BasicHeaderValueParser
public interface HeaderValueParser
Interface for parsing header values into elements. Instances of this interface are expected to be stateless and thread-safe.- Since:
- 4.0
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description HeaderElement[]
parseElements(CharArrayBuffer buffer, ParserCursor cursor)
Parses a header value into elements.HeaderElement
parseHeaderElement(CharArrayBuffer buffer, ParserCursor cursor)
Parses a single header element.NameValuePair
parseNameValuePair(CharArrayBuffer buffer, ParserCursor cursor)
Parses a name=value specification, where the = and value are optional.NameValuePair[]
parseParameters(CharArrayBuffer buffer, ParserCursor cursor)
Parses a list of name-value pairs.
-
-
-
Method Detail
-
parseElements
HeaderElement[] parseElements(CharArrayBuffer buffer, ParserCursor cursor) throws ParseException
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.- 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
- Throws:
ParseException
- in case of a parsing error
-
parseHeaderElement
HeaderElement parseHeaderElement(CharArrayBuffer buffer, ParserCursor cursor) throws ParseException
Parses a single header element. A header element consist of a semicolon-separate list of name=value definitions.- 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
- Throws:
ParseException
- in case of a parse error
-
parseParameters
NameValuePair[] parseParameters(CharArrayBuffer buffer, ParserCursor cursor) throws ParseException
Parses a list of name-value pairs. These lists are used to specify parameters to a header element. Parse errors are indicated asParseException
.- 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
- Throws:
ParseException
- in case of a parse error
-
parseNameValuePair
NameValuePair parseNameValuePair(CharArrayBuffer buffer, ParserCursor cursor) throws ParseException
Parses a name=value specification, where the = and value are optional.- 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 - Throws:
ParseException
-
-