Interface Request

All Known Implementing Classes:
HttpExchange, HttpsExchange

public interface Request
A view of the immutable request state of an HTTP exchange.
Since:
18
  • Method Details

    • getRequestURI

      URI getRequestURI()
      Returns the request URI.
      Returns:
      the request URI
    • getRequestMethod

      String getRequestMethod()
      Returns the request method.
      Returns:
      the request method string
    • getRequestHeaders

      Headers getRequestHeaders()
      Returns an immutable Headers containing the HTTP headers that were included with this request.

      The keys in this Headers are the header names, while the values are a List of Strings containing each value that was included in the request, in the order they were included. Header fields appearing multiple times are represented as multiple string values.

      The keys in Headers are case-insensitive.

      Returns:
      a read-only Headers which can be used to access request headers.
    • with

      default Request with(String headerName, List<String> headerValues)
      Returns an identical Request with an additional header.

      The returned Request has the same set of headers as this request, but with the addition of the given header. All other request state remains unchanged.

      If this request already contains a header with the same name as the given headerName, then its value is not replaced.

      Implementation Requirements:
      The default implementation first creates a new Headers, h, then adds all the request headers from this request to h, then adds the given name-values mapping if headerName is not present in h. Then an unmodifiable view, h', of h and a new Request, r, are created. The getRequestMethod and getRequestURI methods of r simply invoke the equivalently named method of this request. The getRequestHeaders method returns h'. Lastly, r is returned.
      Parameters:
      headerName - the header name
      headerValues - the list of header values
      Returns:
      a request
      Throws:
      NullPointerException - if any argument is null, or if any element of headerValues is null.