001
002package io.vrap.rmf.base.client;
003
004import java.util.Map;
005
006public interface ContextApiHttpClient extends AutoCloseable, ApiHttpClient, ContextAware<ContextApiHttpClient> {
007    static ContextApiHttpClient of(ApiHttpClient client) {
008        return new ContextApiHttpClientImpl(client);
009    }
010
011    static ContextApiHttpClient of(ApiHttpClient client, Map<Object, Object> contextMap) {
012        return new ContextApiHttpClientImpl(client, contextMap);
013    }
014
015    static ContextApiHttpClient of(ApiHttpClient client, Context context) {
016        return new ContextApiHttpClientImpl(client).addContext(context);
017    }
018
019    static ContextApiHttpClient withMdc(ApiHttpClient client) {
020        return new ContextApiHttpClientImpl(client).addContext(new MDCContext());
021    }
022}