@Override
  public feign.Response execute(feign.Request request, Options options) throws IOException {
    final Response response =
        clientBuilder
            .connectTimeout(options.connectTimeoutMillis(), TimeUnit.MILLISECONDS)
            .readTimeout(options.readTimeoutMillis(), TimeUnit.MILLISECONDS)
            .build()
            .target(request.url())
            .request()
            .headers(toMultivaluedMap(request.headers()))
            .method(request.httpMethod().name(), createRequestEntity(request));

    return feign.Response.builder()
        .request(request)
        .body(
            response.readEntity(InputStream.class),
            integerHeader(response, HttpHeaders.CONTENT_LENGTH))
        .headers(toMap(response.getStringHeaders()))
        .status(response.getStatus())
        .reason(response.getStatusInfo().getReasonPhrase())
        .build();
  }
This module directs Feign's http requests to javax.ws.rs.client.Client . Ex:

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