code: public <T> CompletableFuture<T> deleteAsync(final Class<T> type, final Consumer<HttpConfig> configuration) {
          return CompletableFuture.supplyAsync(() -> delete(type, configuration), getExecutor());
      }
docs: Executes an asynchronous DELETE request on the configured URI (asynchronous alias to the `delete(Class,Consumer)` method), with additional
  configuration provided by the configuration function. The result will be cast to the specified `type`.
  
  This method is generally used for Java-specific configuration.
  
  [source,java]
  ----
  HttpBuilder http = HttpBuilder.configure(config -> {
  config.getRequest().setUri("http://localhost:10101");
  });
  CompletableFuture<String> future = http.deleteAsync(String.class, config -> {
  config.getRequest().getUri().setPath("/foo");
  });
  String result = future.get();
  ----
  
  The configuration `closure` allows additional configuration for this request based on the {@link HttpConfig} interface.
  
  @param type the type of the resulting object
  @param configuration the additional configuration function (delegated to {@link HttpConfig})
  @return the {@link CompletableFuture} containing the result of the request