Interface Client

All Known Implementing Classes:
CacheManager.CacheWrapper, JavaClient, MockClient

public interface Client
The client that does the work.
  • Method Details

    • getClient

      <T> T getClient()
      Type Parameters:
      T - the underlying client
      Returns:
      the underlying client if this instance is wrapping another library.
    • request

      <T> HttpResponse<T> request(HttpRequest request, Function<RawResponse,HttpResponse<T>> transformer, Class<?> resultType)
      Make a request
      Type Parameters:
      T - The type of the body
      Parameters:
      request - the prepared request object
      transformer - the function to transform the response
      resultType - the final body result type. This is a hint to downstream systems to make up for type erasure.
      Returns:
      a HttpResponse with a transformed body
    • request

      <T> CompletableFuture<HttpResponse<T>> request(HttpRequest request, Function<RawResponse,HttpResponse<T>> transformer, CompletableFuture<HttpResponse<T>> callback, Class<?> resultType)
      Make a Async request
      Type Parameters:
      T - The type of the body
      Parameters:
      request - the prepared request object
      transformer - the function to transform the response
      callback - the CompletableFuture that will handle the eventual response
      resultType - the final body result type. This is a hint to downstream systems to make up for type erasure.
      Returns:
      a CompletableFuture of a response
    • websocket

      WebSocketResponse websocket(WebSocketRequest request, WebSocket.Listener listener)
      Create a websocket connection
      Parameters:
      request - the connection
      listener - (in the voice of Cicero) the listener
      Returns:
      a WebSocketResponse