@API(status=INTERNAL)
public abstract class LoadBalancedApiClient
extends java.lang.Object
implements com.symphony.bdk.http.api.ApiClient
ApiClient
implementation which load balances calls across several base URLs.
It contains an ApiClient
(a non load-balanced api client) in order to target a specific base URL.Modifier and Type | Field and Description |
---|---|
protected com.symphony.bdk.http.api.ApiClient |
apiClient |
protected ApiClientFactory |
apiClientFactory |
protected BdkLoadBalancingConfig |
loadBalancingConfig |
Constructor and Description |
---|
LoadBalancedApiClient(BdkConfig config,
ApiClientFactory apiClientFactory) |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
escapeString(java.lang.String str) |
java.lang.String |
getBasePath() |
java.util.List<com.symphony.bdk.http.api.Pair> |
parameterToPairs(java.lang.String collectionFormat,
java.lang.String name,
java.lang.Object value) |
java.lang.String |
parameterToString(java.lang.Object param) |
void |
rotate() |
java.lang.String |
selectHeaderAccept(java.lang.String... accepts) |
java.lang.String |
selectHeaderContentType(java.lang.String... contentTypes) |
void |
setBasePath(java.lang.String basePath)
This makes the api client target the provided basePath.
|
protected final ApiClientFactory apiClientFactory
protected com.symphony.bdk.http.api.ApiClient apiClient
protected final BdkLoadBalancingConfig loadBalancingConfig
public LoadBalancedApiClient(BdkConfig config, ApiClientFactory apiClientFactory)
config
- the bdk configuration to be usedapiClientFactory
- the api client factory used to instantiate ApiClient
instances.public java.lang.String getBasePath()
getBasePath
in interface com.symphony.bdk.http.api.ApiClient
public void setBasePath(java.lang.String basePath)
basePath
- the base URL to target.public void rotate()
rotate
in interface com.symphony.bdk.http.api.ApiClient
public java.lang.String parameterToString(java.lang.Object param)
parameterToString
in interface com.symphony.bdk.http.api.ApiClient
public java.util.List<com.symphony.bdk.http.api.Pair> parameterToPairs(java.lang.String collectionFormat, java.lang.String name, java.lang.Object value)
parameterToPairs
in interface com.symphony.bdk.http.api.ApiClient
public java.lang.String selectHeaderAccept(java.lang.String... accepts)
selectHeaderAccept
in interface com.symphony.bdk.http.api.ApiClient
public java.lang.String selectHeaderContentType(java.lang.String... contentTypes)
selectHeaderContentType
in interface com.symphony.bdk.http.api.ApiClient
public java.lang.String escapeString(java.lang.String str)
escapeString
in interface com.symphony.bdk.http.api.ApiClient