Class BasicHeaderValueFormatter

java.lang.Object
org.apache.http.message.BasicHeaderValueFormatter
All Implemented Interfaces:
HeaderValueFormatter

@Contract(threading=IMMUTABLE) public class BasicHeaderValueFormatter extends Object implements HeaderValueFormatter
Basic implementation for formatting header value elements. Instances of this class are stateless and thread-safe. Derived classes are expected to maintain these properties.
Since:
4.0
  • Field Details

    • DEFAULT

      @Deprecated public static final BasicHeaderValueFormatter DEFAULT
      Deprecated.
      (4.3) use INSTANCE
      A default instance of this class, for use as default or fallback. Note that BasicHeaderValueFormatter 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 BasicHeaderValueFormatter INSTANCE
    • SEPARATORS

      public static final String SEPARATORS
      Special characters that can be used as separators in HTTP parameters. These special characters MUST be in a quoted string to be used within a parameter value .
      See Also:
    • UNSAFE_CHARS

      public static final String UNSAFE_CHARS
      Unsafe special characters that must be escaped using the backslash character
      See Also:
  • Constructor Details

    • BasicHeaderValueFormatter

      public BasicHeaderValueFormatter()
  • Method Details

    • formatElements

      public static String formatElements(HeaderElement[] elems, boolean quote, HeaderValueFormatter formatter)
      Formats an array of header elements.
      Parameters:
      elems - the header elements to format
      quote - true to always format with quoted values, false to use quotes only when necessary
      formatter - the formatter to use, or null for the default
      Returns:
      the formatted header elements
    • formatElements

      public CharArrayBuffer formatElements(CharArrayBuffer charBuffer, HeaderElement[] elems, boolean quote)
      Description copied from interface: HeaderValueFormatter
      Formats an array of header elements.
      Specified by:
      formatElements in interface HeaderValueFormatter
      Parameters:
      charBuffer - the buffer to append to, or null to create a new buffer
      elems - the header elements to format
      quote - true to always format with quoted values, false to use quotes only when necessary
      Returns:
      a buffer with the formatted header elements. If the buffer argument was not null, that buffer will be used and returned.
    • formatHeaderElement

      public static String formatHeaderElement(HeaderElement elem, boolean quote, HeaderValueFormatter formatter)
      Formats a header element.
      Parameters:
      elem - the header element to format
      quote - true to always format with quoted values, false to use quotes only when necessary
      formatter - the formatter to use, or null for the default
      Returns:
      the formatted header element
    • formatHeaderElement

      public CharArrayBuffer formatHeaderElement(CharArrayBuffer charBuffer, HeaderElement elem, boolean quote)
      Description copied from interface: HeaderValueFormatter
      Formats one header element.
      Specified by:
      formatHeaderElement in interface HeaderValueFormatter
      Parameters:
      charBuffer - the buffer to append to, or null to create a new buffer
      elem - the header element to format
      quote - true to always format with quoted values, false to use quotes only when necessary
      Returns:
      a buffer with the formatted header element. If the buffer argument was not null, that buffer will be used and returned.
    • formatParameters

      public static String formatParameters(NameValuePair[] nvps, boolean quote, HeaderValueFormatter formatter)
      Formats a set of parameters.
      Parameters:
      nvps - the parameters to format
      quote - true to always format with quoted values, false to use quotes only when necessary
      formatter - the formatter to use, or null for the default
      Returns:
      the formatted parameters
    • formatParameters

      public CharArrayBuffer formatParameters(CharArrayBuffer charBuffer, NameValuePair[] nvps, boolean quote)
      Description copied from interface: HeaderValueFormatter
      Formats the parameters of a header element. That's a list of name-value pairs, to be separated by semicolons. This method will not generate a leading semicolon.
      Specified by:
      formatParameters in interface HeaderValueFormatter
      Parameters:
      charBuffer - the buffer to append to, or null to create a new buffer
      nvps - the parameters (name-value pairs) to format
      quote - true to always format with quoted values, false to use quotes only when necessary
      Returns:
      a buffer with the formatted parameters. If the buffer argument was not null, that buffer will be used and returned.
    • formatNameValuePair

      public static String formatNameValuePair(NameValuePair nvp, boolean quote, HeaderValueFormatter formatter)
      Formats a name-value pair.
      Parameters:
      nvp - the name-value pair to format
      quote - true to always format with a quoted value, false to use quotes only when necessary
      formatter - the formatter to use, or null for the default
      Returns:
      the formatted name-value pair
    • formatNameValuePair

      public CharArrayBuffer formatNameValuePair(CharArrayBuffer charBuffer, NameValuePair nvp, boolean quote)
      Description copied from interface: HeaderValueFormatter
      Formats one name-value pair, where the value is optional.
      Specified by:
      formatNameValuePair in interface HeaderValueFormatter
      Parameters:
      charBuffer - the buffer to append to, or null to create a new buffer
      nvp - the name-value pair to format
      quote - true to always format with a quoted value, false to use quotes only when necessary
      Returns:
      a buffer with the formatted name-value pair. If the buffer argument was not null, that buffer will be used and returned.