Interface Http.HeaderValue

All Known Subinterfaces:
Http.HeaderValueWriteable
All Known Implementing Classes:
ContentDisposition
Enclosing class:
Http

public static interface Http.HeaderValue
HTTP Header with Http.HeaderName and value.
See Also:
  • Method Details

    • createCached

      static Http.HeaderValue createCached(Http.HeaderName name, String value)
      Create and cache byte value. Use this method if the header value is stored in a constant, or used repeatedly.
      Parameters:
      name - header name
      value - value of the header
      Returns:
      a new header
    • create

      static Http.HeaderValue create(Http.HeaderName name, LazyString value)
      Create a new header with a single value. This header is considered unchanging and not sensitive.
      Parameters:
      name - name of the header
      value - lazy string with the value
      Returns:
      a new header
      See Also:
    • create

      static Http.HeaderValue create(Http.HeaderName name, String value)
      Create a new header with a single value. This header is considered unchanging and not sensitive.
      Parameters:
      name - name of the header
      value - value of the header
      Returns:
      a new header
      See Also:
    • create

      static Http.HeaderValue create(Http.HeaderName name, String... values)
      Create a new header. This header is considered unchanging and not sensitive.
      Parameters:
      name - name of the header*
      values - values of the header
      Returns:
      a new header
      See Also:
    • create

      static Http.HeaderValue create(Http.HeaderName name, List<String> values)
      Create a new header. This header is considered unchanging and not sensitive.
      Parameters:
      name - name of the header
      values - values of the header
      Returns:
      a new header
      See Also:
    • createCached

      static Http.HeaderValue createCached(Http.HeaderName name, boolean changing, boolean sensitive, String value)
      Create and cache byte value. Use this method if the header value is stored in a constant, or used repeatedly.
      Parameters:
      name - header name
      changing - whether the value is changing often (to disable caching for HTTP/2)
      sensitive - whether the value is sensitive (to disable caching for HTTP/2)
      value - value of the header
      Returns:
      a new header
    • create

      static Http.HeaderValue create(Http.HeaderName name, boolean changing, boolean sensitive, String... values)
      Create a new header.
      Parameters:
      name - name of the header
      changing - whether the value is changing often (to disable caching for HTTP/2)
      sensitive - whether the value is sensitive (to disable caching for HTTP/2)
      values - value(s) of the header
      Returns:
      a new header
    • name

      String name()
      Name of the header as configured by user or as received on the wire.
      Returns:
      header name, always lower case for HTTP/2 headers
    • headerName

      Http.HeaderName headerName()
      Header name for the header.
      Returns:
      header name
    • value

      String value()
      First value of this header.
      Returns:
      the first value
    • value

      <T> T value(Class<T> type)
      Value mapped using a MapperManager.
      Type Parameters:
      T - type of the value
      Parameters:
      type - class of the value
      Returns:
      typed value
    • values

      default String values()
      All values concatenated using a comma.
      Returns:
      all values joined by a comma
    • allValues

      List<String> allValues()
      All values of this header.
      Returns:
      all configured values
    • allValues

      default List<String> allValues(boolean split)
      All values of this header. If this header is defined as a single header with comma separated values, set split to true.
      Parameters:
      split - whether to split single value by comma, does nothing if the value is already a list.
      Returns:
      list of values
    • valueCount

      int valueCount()
      Number of values this header has.
      Returns:
      number of values (minimal number is 1)
    • sensitive

      boolean sensitive()
      Sensitive headers should not be logged, or indexed (HTTP/2).
      Returns:
      whether this header is sensitive
    • changing

      boolean changing()
      Changing headers should not be cached, and their value should not be indexed (HTTP/2).
      Returns:
      whether this header's value is changing often
    • valueBytes

      default byte[] valueBytes()
      Cached bytes of a single valued header's value.
      Returns:
      value bytes
    • writeHttp1Header

      default void writeHttp1Header(BufferData buffer)
      Write the current header as an HTTP header to the provided buffer.
      Parameters:
      buffer - buffer to write to (should be growing)