Top Description Methods
org.apache.http.message

public Interface HeaderValueParser

Known Direct Implementers
org.apache.http.message.BasicHeaderValueParser
Imports
org.apache.http.HeaderElement, .NameValuePair, .ParseException, org.apache.http.util.CharArrayBuffer

Interface for parsing header values into elements. Instances of this interface are expected to be stateless and thread-safe.
Since
4.0

Method Summary

Modifier and TypeMethod and Description
public HeaderElement[]

Returns:

an array holding all elements of the header value
parseElements
(CharArrayBuffer
buffer holding the header value to parse
buffer
,
ParserCursor
the parser cursor containing the current position and the bounds within the buffer for the parsing operation
cursor
)

Parses a header value into elements.

public HeaderElement

Returns:

the parsed element
parseHeaderElement
(CharArrayBuffer
buffer holding the element to parse
buffer
,
ParserCursor
the parser cursor containing the current position and the bounds within the buffer for the parsing operation
cursor
)

Parses a single header element.

public NameValuePair

Returns:

the name-value pair, where the value is null if no value is specified
parseNameValuePair
(CharArrayBuffer
the buffer holding the name-value pair to parse
buffer
,
ParserCursor
the parser cursor containing the current position and the bounds within the buffer for the parsing operation
cursor
)

Parses a name=value specification, where the = and value are optional.

public NameValuePair[]

Returns:

an array holding all items of the name-value list
parseParameters
(CharArrayBuffer
buffer holding the name-value list to parse
buffer
,
ParserCursor
the parser cursor containing the current position and the bounds within the buffer for the parsing operation
cursor
)

Parses a list of name-value pairs.

Method Detail

parseElementsback to summary
public HeaderElement[] parseElements(CharArrayBuffer buffer, ParserCursor cursor) throws ParseException

Parses a header value into elements. Parse errors are indicated as 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.

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).

Parameters
buffer:CharArrayBuffer

buffer holding the header value to parse

cursor:ParserCursor

the parser cursor containing the current position and the bounds within the buffer for the parsing operation

Returns:HeaderElement[]

an array holding all elements of the header value

Exceptions
ParseException:
in case of a parsing error
parseHeaderElementback to summary
public 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:CharArrayBuffer

buffer holding the element to parse

cursor:ParserCursor

the parser cursor containing the current position and the bounds within the buffer for the parsing operation

Returns:HeaderElement

the parsed element

Exceptions
ParseException:
in case of a parse error
parseNameValuePairback to summary
public NameValuePair parseNameValuePair(CharArrayBuffer buffer, ParserCursor cursor) throws ParseException

Parses a name=value specification, where the = and value are optional.

Parameters
buffer:CharArrayBuffer

the buffer holding the name-value pair to parse

cursor:ParserCursor

the parser cursor containing the current position and the bounds within the buffer for the parsing operation

Returns:NameValuePair

the name-value pair, where the value is null if no value is specified

parseParametersback to summary
public 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 as ParseException.

Parameters
buffer:CharArrayBuffer

buffer holding the name-value list to parse

cursor:ParserCursor

the parser cursor containing the current position and the bounds within the buffer for the parsing operation

Returns:NameValuePair[]

an array holding all items of the name-value list

Exceptions
ParseException:
in case of a parse error