Class ThriftClientBuilder
java.lang.Object
com.linecorp.armeria.client.AbstractClientOptionsBuilder
com.linecorp.armeria.client.thrift.ThriftClientBuilder
@UnstableApi
public final class ThriftClientBuilder
extends com.linecorp.armeria.client.AbstractClientOptionsBuilder
Creates a new Thrift client that connects to the specified
URI using the builder pattern.
Use the factory methods in ThriftClients if you do not have many options to override.-
Method Summary
Modifier and TypeMethodDescriptionaddHeader(CharSequence name, Object value) addHeaders(Iterable<? extends Map.Entry<? extends CharSequence, ?>> headers) auth(com.linecorp.armeria.common.auth.AuthToken token) auth(com.linecorp.armeria.common.auth.BasicToken token) auth(com.linecorp.armeria.common.auth.OAuth1aToken token) auth(com.linecorp.armeria.common.auth.OAuth2Token token) <T> TReturns a newly-created Thrift client which implements the specifiedclientType, based on the properties of this builder.contextCustomizer(Consumer<? super com.linecorp.armeria.client.ClientRequestContext> contextCustomizer) contextHook(Supplier<? extends AutoCloseable> contextHook) decorator(com.linecorp.armeria.client.DecoratingHttpClientFunction decorator) decorator(Function<? super com.linecorp.armeria.client.HttpClient, ? extends com.linecorp.armeria.client.HttpClient> decorator) endpointRemapper(Function<? super com.linecorp.armeria.client.Endpoint, ? extends com.linecorp.armeria.client.endpoint.EndpointGroup> endpointRemapper) factory(com.linecorp.armeria.client.ClientFactory factory) followRedirects(com.linecorp.armeria.client.redirect.RedirectConfig redirectConfig) maxResponseContainerLength(int maxResponseContainerLength) Sets the maximum allowed size of containers to read from the transport for maps, sets and lists.maxResponseLength(long maxResponseLength) maxResponseStringLength(int maxResponseStringLength) Sets the maximum allowed number of bytes to read from the transport for variable-length fields (such as strings or binary).option(com.linecorp.armeria.client.ClientOption<T> option, T value) option(com.linecorp.armeria.client.ClientOptionValue<T> optionValue) options(com.linecorp.armeria.client.ClientOptions options) options(com.linecorp.armeria.client.ClientOptionValue<?>... options) Sets the path for the Thrift endpoint.requestAutoAbortDelay(Duration delay) requestAutoAbortDelayMillis(long delayMillis) requestIdGenerator(Supplier<com.linecorp.armeria.common.RequestId> requestIdGenerator) responseTimeout(Duration responseTimeout) responseTimeoutMillis(long responseTimeoutMillis) rpcDecorator(com.linecorp.armeria.client.DecoratingRpcClientFunction decorator) rpcDecorator(Function<? super com.linecorp.armeria.client.RpcClient, ? extends com.linecorp.armeria.client.RpcClient> decorator) serializationFormat(com.linecorp.armeria.common.SerializationFormat serializationFormat) Sets the ThriftSerializationFormat.setHeader(CharSequence name, Object value) setHeaders(Iterable<? extends Map.Entry<? extends CharSequence, ?>> headers) successFunction(com.linecorp.armeria.common.SuccessFunction successFunction) writeTimeout(Duration writeTimeout) writeTimeoutMillis(long writeTimeoutMillis) Methods inherited from class com.linecorp.armeria.client.AbstractClientOptionsBuilder
buildOptions, buildOptions
-
Method Details
-
serializationFormat
public ThriftClientBuilder serializationFormat(com.linecorp.armeria.common.SerializationFormat serializationFormat) Sets the ThriftSerializationFormat. If not set, theScheme.serializationFormat()specified when creating this builder will be used by default.- See Also:
-
path
Sets the path for the Thrift endpoint. This method will be useful if your Thrift service is bound to a path. For example:// A Thrift service is bound to "/thrift" Server.builder() .service("/thrift", THttpService.of(new MyThriftService())) .build(); // Set "/thrift" to the Thrift service path. ThriftClients.builder("https://api.example.com") .path("/thrift") .build(MyThriftService.XXXIface.class) -
maxResponseStringLength
Sets the maximum allowed number of bytes to read from the transport for variable-length fields (such as strings or binary). If unspecified, the value ofClientOptions.maxResponseLength()will be used instead.Note that this option is only valid for
TBinaryProtocolandTCompactProtocol.- Parameters:
maxResponseStringLength- the maximum allowed string length.0disables the length limit.
-
maxResponseContainerLength
Sets the maximum allowed size of containers to read from the transport for maps, sets and lists. If unspecified, the value ofClientOptions.maxResponseLength()will be used instead.Note that this option is only valid for
TBinaryProtocolandTCompactProtocol.- Parameters:
maxResponseContainerLength- the maximum allowed string length.0disables the length limit.
-
build
Returns a newly-created Thrift client which implements the specifiedclientType, based on the properties of this builder. -
options
- Overrides:
optionsin classcom.linecorp.armeria.client.AbstractClientOptionsBuilder
-
options
- Overrides:
optionsin classcom.linecorp.armeria.client.AbstractClientOptionsBuilder
-
options
public ThriftClientBuilder options(Iterable<com.linecorp.armeria.client.ClientOptionValue<?>> options) - Overrides:
optionsin classcom.linecorp.armeria.client.AbstractClientOptionsBuilder
-
option
- Overrides:
optionin classcom.linecorp.armeria.client.AbstractClientOptionsBuilder
-
option
- Overrides:
optionin classcom.linecorp.armeria.client.AbstractClientOptionsBuilder
-
factory
- Overrides:
factoryin classcom.linecorp.armeria.client.AbstractClientOptionsBuilder
-
writeTimeout
- Overrides:
writeTimeoutin classcom.linecorp.armeria.client.AbstractClientOptionsBuilder
-
writeTimeoutMillis
- Overrides:
writeTimeoutMillisin classcom.linecorp.armeria.client.AbstractClientOptionsBuilder
-
responseTimeout
- Overrides:
responseTimeoutin classcom.linecorp.armeria.client.AbstractClientOptionsBuilder
-
responseTimeoutMillis
- Overrides:
responseTimeoutMillisin classcom.linecorp.armeria.client.AbstractClientOptionsBuilder
-
maxResponseLength
- Overrides:
maxResponseLengthin classcom.linecorp.armeria.client.AbstractClientOptionsBuilder
-
requestAutoAbortDelay
- Overrides:
requestAutoAbortDelayin classcom.linecorp.armeria.client.AbstractClientOptionsBuilder
-
requestAutoAbortDelayMillis
- Overrides:
requestAutoAbortDelayMillisin classcom.linecorp.armeria.client.AbstractClientOptionsBuilder
-
requestIdGenerator
public ThriftClientBuilder requestIdGenerator(Supplier<com.linecorp.armeria.common.RequestId> requestIdGenerator) - Overrides:
requestIdGeneratorin classcom.linecorp.armeria.client.AbstractClientOptionsBuilder
-
successFunction
public ThriftClientBuilder successFunction(com.linecorp.armeria.common.SuccessFunction successFunction) - Overrides:
successFunctionin classcom.linecorp.armeria.client.AbstractClientOptionsBuilder
-
endpointRemapper
public ThriftClientBuilder endpointRemapper(Function<? super com.linecorp.armeria.client.Endpoint, ? extends com.linecorp.armeria.client.endpoint.EndpointGroup> endpointRemapper) - Overrides:
endpointRemapperin classcom.linecorp.armeria.client.AbstractClientOptionsBuilder
-
contextHook
- Overrides:
contextHookin classcom.linecorp.armeria.client.AbstractClientOptionsBuilder
-
decorator
public ThriftClientBuilder decorator(Function<? super com.linecorp.armeria.client.HttpClient, ? extends com.linecorp.armeria.client.HttpClient> decorator) - Overrides:
decoratorin classcom.linecorp.armeria.client.AbstractClientOptionsBuilder
-
decorator
public ThriftClientBuilder decorator(com.linecorp.armeria.client.DecoratingHttpClientFunction decorator) - Overrides:
decoratorin classcom.linecorp.armeria.client.AbstractClientOptionsBuilder
-
rpcDecorator
public ThriftClientBuilder rpcDecorator(Function<? super com.linecorp.armeria.client.RpcClient, ? extends com.linecorp.armeria.client.RpcClient> decorator) - Overrides:
rpcDecoratorin classcom.linecorp.armeria.client.AbstractClientOptionsBuilder
-
rpcDecorator
public ThriftClientBuilder rpcDecorator(com.linecorp.armeria.client.DecoratingRpcClientFunction decorator) - Overrides:
rpcDecoratorin classcom.linecorp.armeria.client.AbstractClientOptionsBuilder
-
clearDecorators
- Overrides:
clearDecoratorsin classcom.linecorp.armeria.client.AbstractClientOptionsBuilder
-
addHeader
- Overrides:
addHeaderin classcom.linecorp.armeria.client.AbstractClientOptionsBuilder
-
addHeaders
public ThriftClientBuilder addHeaders(Iterable<? extends Map.Entry<? extends CharSequence, ?>> headers) - Overrides:
addHeadersin classcom.linecorp.armeria.client.AbstractClientOptionsBuilder
-
setHeader
- Overrides:
setHeaderin classcom.linecorp.armeria.client.AbstractClientOptionsBuilder
-
setHeaders
public ThriftClientBuilder setHeaders(Iterable<? extends Map.Entry<? extends CharSequence, ?>> headers) - Overrides:
setHeadersin classcom.linecorp.armeria.client.AbstractClientOptionsBuilder
-
auth
- Overrides:
authin classcom.linecorp.armeria.client.AbstractClientOptionsBuilder
-
auth
- Overrides:
authin classcom.linecorp.armeria.client.AbstractClientOptionsBuilder
-
auth
- Overrides:
authin classcom.linecorp.armeria.client.AbstractClientOptionsBuilder
-
auth
- Overrides:
authin classcom.linecorp.armeria.client.AbstractClientOptionsBuilder
-
followRedirects
- Overrides:
followRedirectsin classcom.linecorp.armeria.client.AbstractClientOptionsBuilder
-
followRedirects
public ThriftClientBuilder followRedirects(com.linecorp.armeria.client.redirect.RedirectConfig redirectConfig) - Overrides:
followRedirectsin classcom.linecorp.armeria.client.AbstractClientOptionsBuilder
-
contextCustomizer
public ThriftClientBuilder contextCustomizer(Consumer<? super com.linecorp.armeria.client.ClientRequestContext> contextCustomizer) - Overrides:
contextCustomizerin classcom.linecorp.armeria.client.AbstractClientOptionsBuilder
-