001 002package io.vrap.rmf.base.client; 003 004import java.util.ArrayList; 005import java.util.List; 006import java.util.function.Supplier; 007 008import javax.annotation.Nullable; 009 010import io.vrap.rmf.base.client.http.*; 011import io.vrap.rmf.base.client.oauth2.TokenSupplier; 012 013/** 014 * @deprecated use {@link ClientBuilder} instead 015 */ 016@Deprecated 017public class ClientFactory { 018 019 public static final String COMMERCETOOLS = "commercetools"; 020 021 public static ApiHttpClient create(final String apiBaseUrl, final VrapHttpClient httpClient, 022 final TokenSupplier tokenSupplier) { 023 return create(apiBaseUrl, httpClient, tokenSupplier, 024 (request, topic) -> InternalLogger.getLogger(COMMERCETOOLS + "." + topic), new ArrayList<>(), null); 025 } 026 027 public static ApiHttpClient create(final String apiBaseUrl, final VrapHttpClient httpClient, 028 final TokenSupplier tokenSupplier, final Supplier<String> userAgentSupplier) { 029 return create(apiBaseUrl, httpClient, tokenSupplier, 030 (request, topic) -> InternalLogger.getLogger(COMMERCETOOLS + "." + topic), userAgentSupplier, 031 new ArrayList<>(), null); 032 } 033 034 public static ApiHttpClient create(final String apiBaseUrl, final VrapHttpClient httpClient, 035 final TokenSupplier tokenSupplier, final List<Middleware> middlewares) { 036 return create(apiBaseUrl, httpClient, tokenSupplier, 037 (request, topic) -> InternalLogger.getLogger(COMMERCETOOLS + "." + topic), middlewares, null); 038 } 039 040 public static ApiHttpClient create(final String apiBaseUrl, final VrapHttpClient httpClient, 041 final TokenSupplier tokenSupplier, final Supplier<String> userAgentSupplier, 042 final List<Middleware> middlewares) { 043 return create(apiBaseUrl, httpClient, tokenSupplier, 044 (request, topic) -> InternalLogger.getLogger(COMMERCETOOLS + "." + topic), userAgentSupplier, middlewares, 045 null); 046 } 047 048 public static ApiHttpClient create(final String apiBaseUrl, final VrapHttpClient httpClient, 049 final TokenSupplier tokenSupplier, final List<Middleware> middlewares, 050 final CorrelationIdProvider correlationIdProvider) { 051 return create(apiBaseUrl, httpClient, tokenSupplier, 052 (request, topic) -> InternalLogger.getLogger(COMMERCETOOLS + "." + topic), middlewares, 053 correlationIdProvider); 054 } 055 056 public static ApiHttpClient create(final String apiBaseUrl, final VrapHttpClient httpClient, 057 final TokenSupplier tokenSupplier, final Supplier<String> userAgentSupplier, 058 final List<Middleware> middlewares, final CorrelationIdProvider correlationIdProvider) { 059 return create(apiBaseUrl, httpClient, tokenSupplier, 060 (request, topic) -> InternalLogger.getLogger(COMMERCETOOLS + "." + topic), userAgentSupplier, middlewares, 061 correlationIdProvider); 062 } 063 064 public static ApiHttpClient create(final String apiBaseUrl, final VrapHttpClient httpClient, 065 final TokenSupplier tokenSupplier, final InternalLoggerFactory internalLoggerFactory, 066 List<Middleware> middlewares) { 067 return create(apiBaseUrl, httpClient, tokenSupplier, internalLoggerFactory, middlewares, null); 068 } 069 070 public static ApiHttpClient create(final String apiBaseUrl, final VrapHttpClient httpClient, 071 final TokenSupplier tokenSupplier, final InternalLoggerFactory internalLoggerFactory, 072 final Supplier<String> userAgentSupplier, List<Middleware> middlewares) { 073 return create(apiBaseUrl, httpClient, tokenSupplier, internalLoggerFactory, userAgentSupplier, middlewares, 074 null); 075 } 076 077 public static ApiHttpClient create(final String apiBaseUrl, final VrapHttpClient httpClient, 078 final TokenSupplier tokenSupplier, final InternalLoggerFactory internalLoggerFactory, 079 List<Middleware> middlewares, @Nullable final CorrelationIdProvider correlationIdProvider) { 080 return create(apiBaseUrl, httpClient, tokenSupplier, internalLoggerFactory, 081 ClientBuilder::buildDefaultUserAgent, middlewares, correlationIdProvider); 082 } 083 084 public static ApiHttpClient create(final String apiBaseUrl, final VrapHttpClient httpClient, 085 final TokenSupplier tokenSupplier, final InternalLoggerFactory internalLoggerFactory, 086 final Supplier<String> userAgentSupplier, List<Middleware> middlewares, 087 @Nullable final CorrelationIdProvider correlationIdProvider) { 088 return ClientBuilder.of(httpClient) 089 .defaultClient(apiBaseUrl) 090 .withInternalLoggerFactory(internalLoggerFactory) 091 .withUserAgentSupplier(userAgentSupplier) 092 .withTokenSupplier(tokenSupplier) 093 .addCorrelationIdProvider(correlationIdProvider) 094 .addMiddlewares(middlewares) 095 .build(); 096 } 097}