001
002package io.vrap.rmf.base.client;
003
004import java.time.Duration;
005import java.util.concurrent.CompletableFuture;
006
007public interface RequestCommand<TResult> {
008    CompletableFuture<ApiHttpResponse<TResult>> execute();
009
010    default ApiHttpResponse<TResult> executeBlocking() {
011        return executeBlocking(ApiHttpClient.DEFAULT_TIMEOUT);
012    }
013
014    ApiHttpResponse<TResult> executeBlocking(final Duration timeout);
015}