public final class RestClientBuilder
extends java.lang.Object
RestClient. Allows to set the most common http client configuration options when internally
creating the underlying HttpAsyncClient. Also allows to provide an externally created
HttpAsyncClient in case additional customization is needed.| Modifier and Type | Class | Description |
|---|---|---|
static interface |
RestClientBuilder.HttpClientConfigCallback |
Callback used to customize the
CloseableHttpClient instance used by a RestClient instance. |
static interface |
RestClientBuilder.RequestConfigCallback |
Callback used the default
RequestConfig being set to the CloseableHttpClient |
| Modifier and Type | Field | Description |
|---|---|---|
static int |
DEFAULT_CONNECT_TIMEOUT_MILLIS |
|
static int |
DEFAULT_CONNECTION_REQUEST_TIMEOUT_MILLIS |
|
static int |
DEFAULT_MAX_CONN_PER_ROUTE |
|
static int |
DEFAULT_MAX_CONN_TOTAL |
|
static int |
DEFAULT_MAX_RETRY_TIMEOUT_MILLIS |
|
static int |
DEFAULT_SOCKET_TIMEOUT_MILLIS |
| Modifier and Type | Method | Description |
|---|---|---|
RestClient |
build() |
Creates a new
RestClient based on the provided configuration. |
RestClientBuilder |
setDefaultHeaders(org.apache.http.Header[] defaultHeaders) |
Sets the default request headers, which will be sent along with each request.
|
RestClientBuilder |
setFailureListener(RestClient.FailureListener failureListener) |
Sets the
RestClient.FailureListener to be notified for each request failure |
RestClientBuilder |
setHttpClientConfigCallback(RestClientBuilder.HttpClientConfigCallback httpClientConfigCallback) |
Sets the
RestClientBuilder.HttpClientConfigCallback to be used to customize http client configuration |
RestClientBuilder |
setMaxRetryTimeoutMillis(int maxRetryTimeoutMillis) |
Sets the maximum timeout (in milliseconds) to honour in case of multiple retries of the same request.
|
RestClientBuilder |
setPathPrefix(java.lang.String pathPrefix) |
Sets the path's prefix for every request used by the http client.
|
RestClientBuilder |
setRequestConfigCallback(RestClientBuilder.RequestConfigCallback requestConfigCallback) |
Sets the
RestClientBuilder.RequestConfigCallback to be used to customize http client configuration |
public static final int DEFAULT_CONNECT_TIMEOUT_MILLIS
public static final int DEFAULT_SOCKET_TIMEOUT_MILLIS
public static final int DEFAULT_MAX_RETRY_TIMEOUT_MILLIS
public static final int DEFAULT_CONNECTION_REQUEST_TIMEOUT_MILLIS
public static final int DEFAULT_MAX_CONN_PER_ROUTE
public static final int DEFAULT_MAX_CONN_TOTAL
public RestClientBuilder setDefaultHeaders(org.apache.http.Header[] defaultHeaders)
Request-time headers will always overwrite any default headers.
java.lang.NullPointerException - if defaultHeaders or any header is null.public RestClientBuilder setFailureListener(RestClient.FailureListener failureListener)
RestClient.FailureListener to be notified for each request failurejava.lang.NullPointerException - if failureListener is null.public RestClientBuilder setMaxRetryTimeoutMillis(int maxRetryTimeoutMillis)
DEFAULT_MAX_RETRY_TIMEOUT_MILLIS if not specified.java.lang.IllegalArgumentException - if maxRetryTimeoutMillis is not greater than 0public RestClientBuilder setHttpClientConfigCallback(RestClientBuilder.HttpClientConfigCallback httpClientConfigCallback)
RestClientBuilder.HttpClientConfigCallback to be used to customize http client configurationjava.lang.NullPointerException - if httpClientConfigCallback is null.public RestClientBuilder setRequestConfigCallback(RestClientBuilder.RequestConfigCallback requestConfigCallback)
RestClientBuilder.RequestConfigCallback to be used to customize http client configurationjava.lang.NullPointerException - if requestConfigCallback is null.public RestClientBuilder setPathPrefix(java.lang.String pathPrefix)
For example, if this is set to "/my/path", then any client request will become "/my/path/" + endpoint.
In essence, every request's endpoint is prefixed by this pathPrefix. The path prefix is useful for when
Elasticsearch is behind a proxy that provides a base path; it is not intended for other purposes and it should not be supplied in
other scenarios.
java.lang.NullPointerException - if pathPrefix is null.java.lang.IllegalArgumentException - if pathPrefix is empty, only '/', or ends with more than one '/'.public RestClient build()
RestClient based on the provided configuration.