private final HttpRequest convertRequest(
      final Request inputRequest, final Request.Options options) throws IOException {
    // Setup the request body
    HttpContent content = null;
    if (inputRequest.length() > 0) {
      final Collection<String> contentTypeValues = inputRequest.headers().get("Content-Type");
      String contentType = null;
      if (contentTypeValues != null && contentTypeValues.size() > 0) {
        contentType = contentTypeValues.iterator().next();
      } else {
        contentType = "application/octet-stream";
      }
      content = new ByteArrayContent(contentType, inputRequest.body());
    }

    // Build the request
    final HttpRequest request =
        requestFactory.buildRequest(
            inputRequest.httpMethod().name(), new GenericUrl(inputRequest.url()), content);
    // Setup headers
    final HttpHeaders headers = new HttpHeaders();
    for (final Map.Entry<String, Collection<String>> header : inputRequest.headers().entrySet()) {
      // We already set the Content-Type header via ByteArrayContent
      // Content-Type is defined as a singleton field
      // https://www.rfc-editor.org/rfc/rfc9110.html#section-8.3-7
      if (!header.getKey().equals("Content-Type")) {
        headers.set(header.getKey(), header.getValue());
      }
    }
    // Some servers don't do well with no Accept header
    if (inputRequest.headers().get("Accept") == null) {
      headers.setAccept("*/*");
    }
    request.setHeaders(headers);

    // Setup request options
    request
        .setReadTimeout(options.readTimeoutMillis())
        .setConnectTimeout(options.connectTimeoutMillis())
        .setFollowRedirects(options.isFollowRedirects())
        .setThrowExceptionOnExecuteError(false);
    return request;
  }
This module directs Feign's http requests to
<a href="https://developers.google.com/api-client-library/java/google-http-java-client/">Google
HTTP Client</a>.

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