Interface HttpClientRequest


public interface HttpClientRequest
Http request that is built and sent to the server.

Largely wraps the standard JDK HttpRequest with additional support for converting beans to body content and converting beans from response content.



  HelloDto dto = clientContext.request()
       .path("hello").queryParam("name", "Rob").queryParam("say", "Ki ora")
       .GET()
       .bean(HelloDto.class);

 
See Also:
HttpClientContext
  • Method Details

    • skipAuthToken

      HttpClientRequest skipAuthToken()
      For this request skip using an Authorization token.

      This is automatically set on the request passed to AuthTokenProvider.obtainToken(HttpClientRequest).

    • suppressLogging

      HttpClientRequest suppressLogging()
      For this request suppress payload logging.

      The payload contains sensitive content and the request and response content should be suppressed and not included in request logging.

    • requestTimeout

      HttpClientRequest requestTimeout​(Duration requestTimeout)
      Set the request timeout to use for this request. When not set the default request timeout will be used.
      Parameters:
      requestTimeout - The request timeout to use for this request.
      Returns:
      The request being built
    • header

      HttpClientRequest header​(String name, String value)
      Add the header to the request.
      Parameters:
      name - The header name
      value - The header value
      Returns:
      The request being built
    • header

      HttpClientRequest header​(String name, Object value)
      Add the header to the request implicitly converting the value to a String.
      Parameters:
      name - The header name
      value - The header value
      Returns:
      The request being built
    • header

      List<String> header​(String name)
      Return the header values that have been set for the given header name.
      Returns:
      The headers values or an empty collection if the header has not been specified yet.
    • gzip

      HttpClientRequest gzip​(boolean gzip)
      Set if body content should be gzip encoded.
      Parameters:
      gzip - Set true to gzip encode the body content.
      Returns:
      The request being built
    • url

      Set the URL to use replacing the base URL.
      {code
      
        HttpResponse res = clientContext.request()
             .url("http://127.0.0.1:8887")
             .path("hello")
             .GET()
             .asString();
      
       }
      Parameters:
      url - The url effectively replacing the base url.
      Returns:
      The request being built
      See Also:
      HttpClientContext.Builder.withBaseUrl(String)
    • path

      HttpClientRequest path​(String path)
      Add a path segment to the URL.
      Parameters:
      path - The path segment to add to the URL path.
      Returns:
      The request being built
    • path

      HttpClientRequest path​(int val)
      Add a path segment to the URL.
      Parameters:
      val - The value to add to the URL path.
      Returns:
      The request being built
    • path

      HttpClientRequest path​(long val)
      Add a path segment to the URL.
      Parameters:
      val - The value to add to the URL path.
      Returns:
      The request being built
    • path

      HttpClientRequest path​(Object val)
      Add a path segment to the URL.
      Parameters:
      val - The value to add to the URL path.
      Returns:
      The request being built
    • matrixParam

      HttpClientRequest matrixParam​(String name, String value)
      Add a matrix parameter to the current path segment.
      Parameters:
      name - The matrix parameter name
      value - The matrix parameter value which can be null
      Returns:
      The request being built
    • matrixParam

      HttpClientRequest matrixParam​(String name, Object value)
      Add a matrix parameter to the current path segment.
      Parameters:
      name - The matrix parameter name
      value - The matrix parameter value which can be null
      Returns:
      The request being built
    • queryParam

      HttpClientRequest queryParam​(String name, String value)
      Add a query parameter
      Parameters:
      name - The name of the query parameter
      value - The value of the query parameter which can be null
      Returns:
      The request being built
    • queryParam

      HttpClientRequest queryParam​(String name, Object value)
      Add a Integer query parameter
      Parameters:
      name - The name of the query parameter
      value - The value of the query parameter which can be null
      Returns:
      The request being built
    • formParam

      HttpClientRequest formParam​(String name, String value)
      Add a form parameter.
      Parameters:
      name - The form parameter name
      value - The form parameter value which can be null
      Returns:
      The request being built
    • formParam

      HttpClientRequest formParam​(String name, Object value)
      Add a form parameter.
      Parameters:
      name - The form parameter name
      value - The form parameter value which can be null
      Returns:
      The request being built
    • body

      HttpClientRequest body​(BodyContent bodyContent)
      Set encoded body content.
    • body

      HttpClientRequest body​(Object bean, String contentType)
      Set the body as a bean with the given content type using a BodyWriter.
    • body

      HttpClientRequest body​(Object bean)
      Set the body as a bean using the default content type. The default content type will often be application/json; charset=utf8.
    • body

      HttpClientRequest body​(String body)
      Set the body content as a string.
      Parameters:
      body - The body content
      Returns:
      The request being built
    • body

      HttpClientRequest body​(byte[] body)
      Set the body content as a bytes.
      Parameters:
      body - The body content
      Returns:
      The request being built
    • body

      HttpClientRequest body​(Supplier<? extends InputStream> supplier)
      Set the body content with supplied InputStream.
      Parameters:
      supplier - The supplier of InputStream content to send as body content
      Returns:
      The request being built
    • body

      HttpClientRequest body​(Path file)
      Set the body content with supplied InputStream.
      Parameters:
      file - The file to send as body content
      Returns:
      The request being built
    • body

      Set the body content using http BodyPublisher.
      Parameters:
      body - The body content
      Returns:
      The request being built
    • get

      Deprecated.
      Deprecated migrate to GET().
    • post

      Deprecated.
      Deprecated migrate to POST().
    • put

      Deprecated.
      Deprecated migrate to PUT().
    • patch

      Deprecated.
      Deprecated migrate to PATCH().
    • delete

      @Deprecated default HttpClientResponse delete()
      Deprecated.
      Deprecated migrate to DELETE().
    • GET

      Execute the request as a GET.
    • POST

      Execute the request as a POST.
    • PUT

      Execute the request as a PUT.
    • PATCH

      Execute the request as a PATCH.
    • DELETE

      Execute the request as a DELETE.
    • TRACE

      Execute the request as a TRACE.
    • HEAD

      Execute the request as a HEAD.