Class BasicHeaderValueParser

java.lang.Object
org.apache.hc.core5.http.message.BasicHeaderValueParser
All Implemented Interfaces:
HeaderValueParser

@Contract(threading=IMMUTABLE) public class BasicHeaderValueParser extends Object implements HeaderValueParser
Default HeaderValueParser implementation.
Since:
4.0
  • Field Details

    • INSTANCE

      public static final BasicHeaderValueParser INSTANCE
    • PARAM_DELIMITER

      private static final char PARAM_DELIMITER
      See Also:
    • ELEM_DELIMITER

      private static final char ELEM_DELIMITER
      See Also:
    • TOKEN_DELIMITER

      private static final BitSet TOKEN_DELIMITER
    • VALUE_DELIMITER

      private static final BitSet VALUE_DELIMITER
    • tokenizer

      private final Tokenizer tokenizer
    • EMPTY_HEADER_ELEMENT_ARRAY

      private static final HeaderElement[] EMPTY_HEADER_ELEMENT_ARRAY
      An empty immutable HeaderElement array.
    • EMPTY_NAME_VALUE_ARRAY

      private static final NameValuePair[] EMPTY_NAME_VALUE_ARRAY
      An empty immutable NameValuePair array.
  • Constructor Details

    • BasicHeaderValueParser

      public BasicHeaderValueParser()
  • Method Details

    • parseElements

      public HeaderElement[] parseElements(CharSequence buffer, ParserCursor cursor)
      Description copied from interface: HeaderValueParser
      Parses a header value into elements. Parse errors are indicated as RuntimeException.
      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 HeaderElement parseHeaderElement(CharSequence 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
    • parseParameters

      public NameValuePair[] parseParameters(CharSequence 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 NameValuePair parseNameValuePair(CharSequence 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