Interface HttpRequest

All Known Implementing Classes:
HttpPipelinedRequest

public interface HttpRequest
A basic http request abstraction. Http modules needs to implement this interface to integrate with the server package's rest handling.
  • Method Details

    • method

      Returns the HTTP method used in the HTTP request.
      Returns:
      the RestRequest.Method used in the REST request
      Throws:
      IllegalArgumentException - if the HTTP method is invalid
    • uri

      String uri()
      The uri of the rest request, with the query string.
    • content

      BytesReference content()
    • getHeaders

      Map<String,List<String>> getHeaders()
      Get all of the headers and values associated with the headers. Modifications of this map are not supported.
    • header

      default String header(String name)
    • allHeaders

      default List<String> allHeaders(String name)
    • strictCookies

      List<String> strictCookies()
    • protocolVersion

      HttpRequest.HttpVersion protocolVersion()
    • removeHeader

      HttpRequest removeHeader(String header)
    • createResponse

      HttpResponse createResponse(RestStatus status, BytesReference content)
      Create an http response from this request and the supplied status and content.
    • getInboundException

      @Nullable Exception getInboundException()
    • release

      void release()
      Release any resources associated with this request. Implementations should be idempotent. The behavior of content() after this method has been invoked is undefined and implementation specific.
    • releaseAndCopy

      HttpRequest releaseAndCopy()
      If this instances uses any pooled resources, creates a copy of this instance that does not use any pooled resources and releases any resources associated with this instance. If the instance does not use any shared resources, returns itself.
      Returns:
      a safe unpooled http request