@Test
  void doesntRetryAfterResponseIsSent() throws Throwable {
    server.enqueue(new MockResponse().setBody("success!"));

    final TestInterfaceAsync api =
        newAsyncBuilder()
            .decoder(
                (response, type) -> {
                  throw new IOException("timeout");
                })
            .target("http://localhost:" + server.getPort());

    final CompletableFuture<?> cf = api.post();
    server.takeRequest();
    Throwable exception = assertThrows(FeignException.class, () -> unwrap(cf));
    assertThat(exception.getMessage()).contains("timeout reading POST http://");
  }
The type of a parameter value may not be the desired type to encode as. Prefer the interface
type.
okhttp/src/test/java/feign/okhttp/OkHttpClientAsyncTest.java