public class ClientBuilder extends Object implements Builder<ApiHttpClient>
The ClientBuilder is used to configure and create an ApiHttpClient. As the ApiHttpClient uses a stack
of middlewares the Builder comes with methods to configure and attach new middlewares. Also it ensures that some default
used middlewares are instantiated at the correct location in the middleware stack.
The default middlewares and services are added as Supplier to be able to override the ones provided by e.g.: defaultClient(URI)
| Modifier and Type | Field and Description |
|---|---|
static String |
COMMERCETOOLS |
public static final String COMMERCETOOLS
public static ClientBuilder of()
Creates a default client builder
public static ClientBuilder of(VrapHttpClient httpClient)
Creates a client builder with a specific or preconfigured VrapHttpClient instance. Uses defaults for
the HandlerStack
httpClient - the HTTP client to be usedpublic static ClientBuilder of(HandlerStack stack)
Creates a client builder with a specifig HandlerStack
stack - the HandlerStack to be usedpublic ClientBuilder withHandlerStack(HandlerStack stack)
public ClientBuilder withHttpClient(VrapHttpClient httpClient)
public ClientBuilder withSerializer(ResponseSerializer serializer)
public ClientBuilder withSerializer(Supplier<ResponseSerializer> serializer)
public ClientBuilder withHttpExceptionFactory(HttpExceptionFactory factory)
public ClientBuilder withHttpExceptionFactory(Function<ResponseSerializer,HttpExceptionFactory> factory)
public ClientBuilder withHttpExceptionFactory(Supplier<HttpExceptionFactory> factory)
factory - public ClientBuilder defaultClient(URI apiBaseUrl)
Configures a client with the default middlewares and the given baseUrl
The following middlewares and services are configured:
apiBaseUrl - base URI for the APIpublic ClientBuilder defaultClient(String apiBaseUrl)
public ClientBuilder defaultClient(String apiBaseUrl, ClientCredentials credentials, String tokenEndpoint)
public ClientBuilder defaultClient(ClientCredentials credentials, ServiceRegionConfig serviceRegionConfig)
@Deprecated public ClientBuilder withClientCredentials(ClientCredentials credentials, String tokenEndpoint)
credentials - OAuth credentialstokenEndpoint - OAuth endpoint@Deprecated public ClientBuilder withClientCredentials(ClientCredentials credentials, String tokenEndpoint, VrapHttpClient httpClient)
credentials - OAuth credentialstokenEndpoint - OAuth endpointhttpClient - HTTP client to be usedpublic ClientBuilder withClientCredentialsFlow(ClientCredentials credentials, URI tokenEndpoint)
public ClientBuilder withClientCredentialsFlow(ClientCredentials credentials, URI tokenEndpoint, VrapHttpClient httpClient)
public ClientBuilder withClientCredentialsFlow(ClientCredentials credentials, String tokenEndpoint)
public ClientBuilder withClientCredentialsFlow(ClientCredentials credentials, String tokenEndpoint, VrapHttpClient httpClient)
public ClientBuilder withStaticTokenFlow(AuthenticationToken token)
public ClientBuilder withAnonymousSessionFlow(ClientCredentials credentials, String tokenEndpoint)
public ClientBuilder withAnonymousSessionFlow(ClientCredentials credentials, String tokenEndpoint, VrapHttpClient httpClient)
public ClientBuilder withGlobalCustomerPasswordFlow(ClientCredentials credentials, String email, String password, String tokenEndpoint)
public ClientBuilder withGlobalCustomerPasswordFlow(ClientCredentials credentials, String email, String password, String tokenEndpoint, VrapHttpClient httpClient)
public ClientBuilder addAcceptGZipMiddleware()
public ClientBuilder withErrorMiddleware(Supplier<ErrorMiddleware> errorMiddleware)
public ClientBuilder withErrorMiddleware()
public ClientBuilder withErrorMiddleware(ErrorMiddleware errorMiddleware)
public ClientBuilder withRetryMiddleware(Supplier<RetryMiddleware> retryMiddleware)
public ClientBuilder withRetryMiddleware(RetryMiddleware retryMiddleware)
public ClientBuilder withRetryMiddleware(int maxRetries)
public ClientBuilder withRetryMiddleware(int maxRetries, List<Integer> statusCodes)
public ClientBuilder withOAuthMiddleware(Supplier<OAuthMiddleware> oAuthMiddleware)
public ClientBuilder withOAuthMiddleware(OAuthMiddleware oAuthMiddleware)
public ClientBuilder withTokenSupplier(TokenSupplier tokenSupplier)
public ClientBuilder withInternalLoggerMiddleware(InternalLoggerMiddleware internalLoggerMiddleware)
public ClientBuilder withInternalLoggerFactory(InternalLoggerFactory internalLoggerFactory)
public ClientBuilder withApiBaseUrl(String apiBaseUrl)
public ClientBuilder withApiBaseUrl(URI apiBaseUrl)
public ClientBuilder withUserAgentSupplier(Supplier<String> userAgentSupplier)
public ClientBuilder addCorrelationIdProvider(@Nullable CorrelationIdProvider correlationIdProvider)
public ClientBuilder withMiddlewares(List<Middleware> middlewares)
middlewares - Middleware instancespublic ClientBuilder withMiddleware(Middleware middleware, Middleware... middlewares)
middlewares - Middleware instancespublic ClientBuilder addMiddlewares(List<Middleware> middlewares)
middlewares - Middleware instancespublic ClientBuilder addMiddleware(Middleware middleware, Middleware... middlewares)
middlewares - Middleware instancespublic ApiHttpClient build()
build in interface Builder<ApiHttpClient>public static String buildDefaultUserAgent()