public final class ClientOptionsBuilder extends Object
ClientOptions using the builder pattern.ClientBuilder| Constructor and Description |
|---|
ClientOptionsBuilder()
Deprecated.
|
ClientOptionsBuilder(ClientOptions options)
Deprecated.
|
| Modifier and Type | Method and Description |
|---|---|
ClientOptionsBuilder |
addHttpHeader(CharSequence name,
Object value)
Adds the specified HTTP header.
|
ClientOptionsBuilder |
addHttpHeaders(Iterable<? extends Map.Entry<? extends CharSequence,?>> httpHeaders)
Adds the specified HTTP headers.
|
ClientOptions |
build()
Returns a newly-created
ClientOptions based on the ClientOptionValues of this builder. |
ClientOptionsBuilder |
decorator(DecoratingHttpClientFunction decorator)
Adds the specified HTTP-level
decorator. |
ClientOptionsBuilder |
decorator(Function<? super HttpClient,? extends HttpClient> decorator)
Adds the specified HTTP-level
decorator. |
ClientOptionsBuilder |
defaultMaxResponseLength(long maxResponseLength)
Deprecated.
|
ClientOptionsBuilder |
defaultResponseTimeout(Duration responseTimeout)
Deprecated.
|
ClientOptionsBuilder |
defaultResponseTimeoutMillis(long responseTimeoutMillis)
Deprecated.
|
ClientOptionsBuilder |
defaultWriteTimeout(Duration writeTimeout)
Deprecated.
|
ClientOptionsBuilder |
defaultWriteTimeoutMillis(long writeTimeoutMillis)
Deprecated.
|
ClientOptionsBuilder |
endpointRemapper(Function<? super Endpoint,? extends EndpointGroup> endpointRemapper)
|
ClientOptionsBuilder |
factory(ClientFactory factory)
Sets the
ClientFactory used for creating a client. |
ClientOptionsBuilder |
maxResponseLength(long maxResponseLength)
Sets the maximum allowed length of a server response in bytes.
|
<T> ClientOptionsBuilder |
option(ClientOption<T> option,
T value)
Adds the specified
ClientOption and its value. |
<T> ClientOptionsBuilder |
option(ClientOptionValue<T> optionValue)
Adds the specified
ClientOptionValue. |
ClientOptionsBuilder |
options(ClientOptions options)
Adds the specified
ClientOptions. |
ClientOptionsBuilder |
options(ClientOptionValue<?>... options)
Adds the specified
ClientOptionValues. |
ClientOptionsBuilder |
options(Iterable<ClientOptionValue<?>> options)
Adds the specified
ClientOptionValues. |
ClientOptionsBuilder |
requestIdGenerator(Supplier<RequestId> requestIdGenerator)
|
ClientOptionsBuilder |
responseTimeout(Duration responseTimeout)
Sets the timeout of a response.
|
ClientOptionsBuilder |
responseTimeoutMillis(long responseTimeoutMillis)
Sets the timeout of a response in milliseconds.
|
ClientOptionsBuilder |
rpcDecorator(DecoratingRpcClientFunction decorator)
Adds the specified RPC-level
decorator. |
ClientOptionsBuilder |
rpcDecorator(Function<? super RpcClient,? extends RpcClient> decorator)
Adds the specified RPC-level
decorator. |
ClientOptionsBuilder |
setHttpHeader(CharSequence name,
Object value)
Sets the specified HTTP header.
|
ClientOptionsBuilder |
setHttpHeaders(Iterable<? extends Map.Entry<? extends CharSequence,?>> httpHeaders)
Sets the specified HTTP headers.
|
ClientOptionsBuilder |
writeTimeout(Duration writeTimeout)
Sets the timeout of a socket write attempt.
|
ClientOptionsBuilder |
writeTimeoutMillis(long writeTimeoutMillis)
Sets the timeout of a socket write attempt in milliseconds.
|
@Deprecated public ClientOptionsBuilder()
ClientOptions.builder().@Deprecated public ClientOptionsBuilder(ClientOptions options)
ClientOptions.toBuilder().public ClientOptions build()
ClientOptions based on the ClientOptionValues of this builder.public ClientOptionsBuilder options(ClientOptions options)
ClientOptions.public ClientOptionsBuilder options(ClientOptionValue<?>... options)
ClientOptionValues.public ClientOptionsBuilder options(Iterable<ClientOptionValue<?>> options)
ClientOptionValues.public <T> ClientOptionsBuilder option(ClientOption<T> option, T value)
ClientOption and its value.public <T> ClientOptionsBuilder option(ClientOptionValue<T> optionValue)
ClientOptionValue.public ClientOptionsBuilder factory(ClientFactory factory)
ClientFactory used for creating a client.
The default is ClientFactory.ofDefault().@Deprecated public ClientOptionsBuilder defaultWriteTimeout(Duration writeTimeout)
writeTimeout - the timeout. 0 disables the timeout.@Deprecated public ClientOptionsBuilder defaultWriteTimeoutMillis(long writeTimeoutMillis)
writeTimeoutMillis - the timeout in milliseconds. 0 disables the timeout.public ClientOptionsBuilder writeTimeout(Duration writeTimeout)
writeTimeout - the timeout. 0 disables the timeout.public ClientOptionsBuilder writeTimeoutMillis(long writeTimeoutMillis)
writeTimeoutMillis - the timeout in milliseconds. 0 disables the timeout.@Deprecated public ClientOptionsBuilder defaultResponseTimeout(Duration responseTimeout)
responseTimeout - the timeout. 0 disables the timeout.@Deprecated public ClientOptionsBuilder defaultResponseTimeoutMillis(long responseTimeoutMillis)
responseTimeoutMillis - the timeout in milliseconds. 0 disables the timeout.public ClientOptionsBuilder responseTimeout(Duration responseTimeout)
responseTimeout - the timeout. 0 disables the timeout.public ClientOptionsBuilder responseTimeoutMillis(long responseTimeoutMillis)
responseTimeoutMillis - the timeout in milliseconds. 0 disables the timeout.@Deprecated public ClientOptionsBuilder defaultMaxResponseLength(long maxResponseLength)
maxResponseLength - the maximum length in bytes. 0 disables the limit.public ClientOptionsBuilder maxResponseLength(long maxResponseLength)
maxResponseLength - the maximum length in bytes. 0 disables the limit.public ClientOptionsBuilder requestIdGenerator(Supplier<RequestId> requestIdGenerator)
public ClientOptionsBuilder endpointRemapper(Function<? super Endpoint,? extends EndpointGroup> endpointRemapper)
Function that remaps an Endpoint into an EndpointGroup.
This ClientOption is useful when you need to override a single target host into
a group of hosts to enable client-side load-balancing, e.g.
MyService.Iface client =
Clients.newClient("tbinary+http://example.com/api",
MyService.Iface.class);
EndpointGroup myGroup = EndpointGroup.of(Endpoint.of("node-1.example.com")),
Endpoint.of("node-2.example.com")));
MyService.Iface derivedClient =
Clients.newDerivedClient(client, options -> {
return options.toBuilder()
.endpointRemapper(endpoint -> {
if (endpoint.host().equals("example.com")) {
return myGroup;
} else {
return endpoint;
}
})
.build();
});
// This request goes to 'node-1.example.com' or 'node-2.example.com'.
derivedClient.call();
Note that the remapping does not occur recursively but only once.
public ClientOptionsBuilder decorator(Function<? super HttpClient,? extends HttpClient> decorator)
decorator.decorator - the Function that transforms an HttpClient to anotherpublic ClientOptionsBuilder decorator(DecoratingHttpClientFunction decorator)
decorator.decorator - the DecoratingHttpClientFunction that intercepts an invocationpublic ClientOptionsBuilder rpcDecorator(Function<? super RpcClient,? extends RpcClient> decorator)
decorator.public ClientOptionsBuilder rpcDecorator(DecoratingRpcClientFunction decorator)
decorator.decorator - the DecoratingRpcClientFunction that intercepts an invocationpublic ClientOptionsBuilder addHttpHeader(CharSequence name, Object value)
public ClientOptionsBuilder addHttpHeaders(Iterable<? extends Map.Entry<? extends CharSequence,?>> httpHeaders)
public ClientOptionsBuilder setHttpHeader(CharSequence name, Object value)
public ClientOptionsBuilder setHttpHeaders(Iterable<? extends Map.Entry<? extends CharSequence,?>> httpHeaders)
Copyright © 2020 LeanCloud. All rights reserved.