Class BufferedHeader

java.lang.Object
org.apache.hc.core5.http.message.BufferedHeader
All Implemented Interfaces:
Serializable, FormattedHeader, Header, NameValuePair

public class BufferedHeader extends Object implements FormattedHeader, Serializable
This class represents a raw HTTP header whose content is parsed 'on demand' only when the header value needs to be consumed.
Since:
4.0
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • name

      private final String name
      Header name.
    • buffer

      private final CharArrayBuffer buffer
      The buffer containing the entire header line.
    • valuePos

      private final int valuePos
      The beginning of the header value in the buffer
  • Constructor Details

    • BufferedHeader

      public BufferedHeader(CharArrayBuffer buffer) throws ParseException
      Creates a new header from a buffer. The name of the header will be parsed immediately, the value only if it is accessed.
      Parameters:
      buffer - the buffer containing the header to represent
      Throws:
      ParseException - in case of a parse error
    • BufferedHeader

      BufferedHeader(CharArrayBuffer buffer, boolean strict) throws ParseException
      Throws:
      ParseException
  • Method Details

    • create

      public static BufferedHeader create(CharArrayBuffer buffer)
      Since:
      5.0
    • getName

      public String getName()
      Description copied from interface: NameValuePair
      Gets the name of this pair.
      Specified by:
      getName in interface NameValuePair
      Returns:
      the name of this pair, never null.
    • getValue

      public String getValue()
      Description copied from interface: NameValuePair
      Gets the value of this pair.
      Specified by:
      getValue in interface NameValuePair
      Returns:
      the value of this pair, may be null.
    • isSensitive

      public boolean isSensitive()
      Description copied from interface: Header
      Returns true if the header should be considered sensitive.

      Some encoding schemes such as HPACK impose restrictions on encoded representation of sensitive headers.

      Specified by:
      isSensitive in interface Header
      Returns:
      true if the header should be considered sensitive.
    • getValuePos

      public int getValuePos()
      Description copied from interface: FormattedHeader
      Obtains the start of the header value in the buffer. By accessing the value in the buffer, creation of a temporary string can be avoided.
      Specified by:
      getValuePos in interface FormattedHeader
      Returns:
      index of the first character of the header value in the buffer returned by getBuffer.
    • getBuffer

      public CharArrayBuffer getBuffer()
      Description copied from interface: FormattedHeader
      Obtains the buffer with the formatted header. The returned buffer MUST NOT be modified.
      Specified by:
      getBuffer in interface FormattedHeader
      Returns:
      the formatted header, in a buffer that must not be modified
    • toString

      public String toString()
      Overrides:
      toString in class Object