Interface HttpClientContext


public interface HttpClientContext
The HTTP client context that we use to build and process requests.


   HttpClientContext ctx = HttpClientContext.builder()
       .baseUrl("http://localhost:8080")
       .bodyAdapter(new JacksonBodyAdapter())
       .build();

  HelloDto dto = ctx.request()
       .path("hello")
       .queryParam("name", "Rob")
       .queryParam("say", "Whats up")
       .GET()
       .bean(HelloDto.class);

 
  • Method Details

    • builder

      static HttpClientContext.Builder builder()
      Return the builder to config and build the client context.
      
      
         HttpClientContext ctx = HttpClientContext.builder()
             .baseUrl("http://localhost:8080")
             .bodyAdapter(new JacksonBodyAdapter())
             .build();
      
        HttpResponse<String> res = ctx.request()
             .path("hello")
             .GET().asString();
      
       
    • newBuilder

      Deprecated.
      Deprecated - migrate to builder().
    • create

      <T> T create(Class<T> clientInterface)
      Return the http client API implementation.
      Type Parameters:
      T - The service type.
      Parameters:
      clientInterface - A @Client interface with annotated API methods.
      Returns:
      The http client API implementation.
    • request

      Create a new request.
    • url

      UrlBuilder url()
      Return a UrlBuilder to use to build an URL taking into account the base URL.
    • converters

      BodyAdapter converters()
      Return the body adapter used by the client context.

      This is the body adapter used to convert request and response bodies to java types. For example using Jackson with JSON payloads.

    • httpClient

      HttpClient httpClient()
      Return the underlying http client.
    • metrics

      Return the current aggregate metrics.

      These metrics are collected for all requests sent via this context.

    • metrics

      HttpClientContext.Metrics metrics(boolean reset)
      Return the current metrics with the option of resetting the underlying counters.

      These metrics are collected for all requests sent via this context.

    • checkResponse

      void checkResponse(HttpResponse<?> response)
      Check the response status code and throw HttpException if the status code is in the error range.
    • readContent

      BodyContent readContent(HttpResponse<byte[]> httpResponse)
      Return the response content taking into account content encoding.
      Parameters:
      httpResponse - The HTTP response to decode the content from
      Returns:
      The decoded content
    • decodeContent

      byte[] decodeContent(HttpResponse<byte[]> httpResponse)
      Decode the response content given the Content-Encoding http header.
      Parameters:
      httpResponse - The HTTP response
      Returns:
      The decoded content
    • decodeContent

      byte[] decodeContent(String encoding, byte[] content)
      Decode the body using the given encoding.
      Parameters:
      encoding - The encoding used to decode the content
      content - The raw content being decoded
      Returns:
      The decoded content