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

Methods
`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 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.

Parameters:
  `buffer` - buffer holding the header value to parse
  `cursor` - 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 parse 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 parse
  `cursor` - 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 as `ParseException`.

Parameters:
  `buffer` - buffer holding the name-value list to parse
  `cursor` - 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 parse
  `cursor` - 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`