@Override
  public CompletableFuture<feign.Response> execute(
      feign.Request input, feign.Request.Options options, Optional<Object> requestContext) {
    okhttp3.OkHttpClient requestScoped = getClient(options);
    Request request = toOkHttpRequest(input);
    CompletableFuture<feign.Response> responseFuture = new CompletableFuture<>();
    requestScoped
        .newCall(request)
        .enqueue(
            new Callback() {
              @Override
              public void onFailure(Call call, IOException e) {
                responseFuture.completeExceptionally(e);
              }

              @Override
              public void onResponse(Call call, okhttp3.Response response) throws IOException {
                final feign.Response r =
                    toFeignResponse(response, input).toBuilder().request(input).build();
                responseFuture.complete(r);
              }
            });
    return responseFuture;
  }
This module directs Feign's http requests to
<a href="http://square.github.io/okhttp/">OkHttp</a>, which enables SPDY and better network
control. Ex.

<pre>
GitHub github = Feign.builder().client(new OkHttpClient()).target(GitHub.class,
"https://api.github.com");
okhttp/src/main/java/feign/okhttp/OkHttpClient.java