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}