Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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 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
`static BasicHeaderValueParser` | `DEFAULT` Deprecated. (4.3) use `INSTANCE`
`static BasicHeaderValueParser` | `INSTANCE`

Constructor Summary
`BasicHeaderValueParser()`

Method Summary
`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.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### DEFAULT

    @Deprecated
    public static final BasicHeaderValueParser DEFAULT

  Deprecated. (4.3) use `INSTANCE`
  A default instance of this class, for use as default or fallback. Note that `BasicHeaderValueParser` 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

Constructor Detail

### BasicHeaderValueParser

    public BasicHeaderValueParser()

Method Detail

### parseElements

    public static HeaderElement[] parseElements(String value,
                                                HeaderValueParser parser)
                                         throws ParseException

  Parses elements with the given parser.

  Parameters:
    `value` - the header value to parse
    `parser` - the parser to use, or `null` 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 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).

  Specified by:
    `parseElements` in interface `HeaderValueParser`
  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

### parseHeaderElement

    public static HeaderElement parseHeaderElement(String value,
                                                   HeaderValueParser parser)
                                            throws ParseException

  Parses an element with the given parser.

  Parameters:
    `value` - the header element to parse
    `parser` - the parser to use, or `null` 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 interface `HeaderValueParser`
  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

### createHeaderElement

    protected HeaderElement createHeaderElement(String name,
                                                String value,
                                                NameValuePair[] params)

  Creates a header element. Called from `parseHeaderElement(java.lang.String, org.apache.http.message.HeaderValueParser)`.

  Returns:
    a header element representing the argument

### parseParameters

    public static NameValuePair[] parseParameters(String value,
                                                  HeaderValueParser parser)
                                           throws ParseException

  Parses parameters with the given parser.

  Parameters:
    `value` - the parameter list to parse
    `parser` - the parser to use, or `null` 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 as `ParseException`.

  Specified by:
    `parseParameters` in interface `HeaderValueParser`
  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

### parseNameValuePair

    public static NameValuePair parseNameValuePair(String value,
                                                   HeaderValueParser parser)
                                            throws ParseException

  Parses a name-value-pair with the given parser.

  Parameters:
    `value` - the NVP to parse
    `parser` - the parser to use, or `null` 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 interface `HeaderValueParser`
  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

### parseNameValuePair

    @Deprecated
    public NameValuePair parseNameValuePair(CharArrayBuffer buffer,
                                                       ParserCursor cursor,
                                                       char[] delimiters)

  Deprecated. (4.4) use `TokenParser`

### createNameValuePair

    protected NameValuePair createNameValuePair(String name,
                                                String value)

  Creates a name-value pair. Called from `parseNameValuePair(java.lang.String, org.apache.http.message.HeaderValueParser)`.

  Parameters:
    `name` - the name
    `value` - the value, or `null`
  Returns:
    a name-value pair representing the arguments

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2005–2021 The Apache Software Foundation. All rights reserved.