Interface ServerRequestHeaders

All Superinterfaces:
Headers, Iterable<Header>
All Known Subinterfaces:
ClientRequestHeaders

public interface ServerRequestHeaders extends Headers
HTTP headers of a server request.
  • Field Details

  • Method Details

    • create

      static ServerRequestHeaders create(Headers headers)
      Create a new instance from headers.
      Parameters:
      headers - headers parsed from server request
      Returns:
      immutable instance of request headers
    • create

      static ServerRequestHeaders create()
      Create new empty server request headers.
      Returns:
      empty headers
    • ifModifiedSince

      default Optional<ZonedDateTime> ifModifiedSince()
      Optionally returns a value of HeaderNames.IF_MODIFIED_SINCE header.

      Allows a 304 Not Modified to be returned if content is unchanged.

      Returns:
      Content of HeaderNames.IF_MODIFIED_SINCE header.
    • ifUnmodifiedSince

      default Optional<ZonedDateTime> ifUnmodifiedSince()
      Optionally returns a value of HeaderNames.IF_UNMODIFIED_SINCE header.

      Only send the response if the entity has not been modified since a specific time.

      Returns:
      Content of HeaderNames.IF_UNMODIFIED_SINCE header.
    • isAccepted

      default boolean isAccepted(MediaType mediaType)
      Test if the given media type is acceptable as a response for this request. A media type is accepted if the Accept header is not present in the request or if it contains the provided media type.
      Specified by:
      isAccepted in interface Headers
      Parameters:
      mediaType - the media type to test
      Returns:
      true if provided type is acceptable, false otherwise
      Throws:
      NullPointerException - if the provided type is null.
    • bestAccepted

      default Optional<MediaType> bestAccepted(MediaType... mediaTypes)
      Optionally returns a single media type from the given media types that is the best one accepted by the client. Method uses content negotiation HeaderNames.ACCEPT header parameter and returns an empty value in case nothing matches.
      Parameters:
      mediaTypes - media type candidates, never null
      Returns:
      an accepted media type.
    • cookies

      default Parameters cookies()
      Returns cookies (parsed from 'Cookie:' header) based on RFC6265. It parses also older formats including RFC2965 but skips parameters. Only cookie name and value is returned.

      Multiple cookies can be returned in a single headers and a single cookie-name can have multiple values. Note that base on RFC6265 an order of cookie values has no semantics.

      Returns:
      An unmodifiable cookies represented by Parameters interface where key is a name of the cookie and values are cookie values.
    • acceptDatetime

      default Optional<ZonedDateTime> acceptDatetime()
      Optionally returns acceptedTypes version in time (HeaderNames.ACCEPT_DATETIME header).
      Returns:
      Acceptable version in time.
    • date

      default Optional<ZonedDateTime> date()
      Optionally returns request date (HeaderNames.DATE header).
      Returns:
      Request date.
    • referer

      default Optional<URI> referer()
      Optionally returns the address of the previous web page (header HeaderNames.REFERER) from which a link to the currently requested page was followed.

      The word referrer has been misspelled in the RFC as well as in most implementations to the point that it has become standard usage and is considered correct terminology

      Returns:
      Referrers URI