public CompletableFuture<Object> putAsync(@DelegatesTo(HttpConfig.class) final Closure closure) {
        return CompletableFuture.supplyAsync(() -> put(closure), getExecutor());
    }
public CompletableFuture < Object > putAsync ( @ DelegatesTo ( HttpConfig . class ) final Closure closure ) { return CompletableFuture . supplyAsync ( ( ) -> put ( closure ) , getExecutor ( ) ) ; }
Executes an asynchronous PUT request on the configured URI (an asynchronous alias to the `put(Closure)` method), with additional configuration
provided by the configuration closure.

[source,groovy]
----
def http = HttpBuilder.configure {
request.uri = 'http://localhost:10101'
}
def result = http.putAsync(){
request.uri.path = '/something'
request.body = 'My content'
request.contentType = 'text/plain'
}
----

The configuration `closure` allows additional configuration for this request based on the {@link HttpConfig} interface.

@param closure the additional configuration closure (delegated to {@link HttpConfig})
@return the {@link CompletableFuture} containing the future result data