Class WebClientConfig.BuilderBase<BUILDER extends WebClientConfig.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends WebClientConfig>
- Type Parameters:
BUILDER- type of the builder extending this abstract builderPROTOTYPE- type of the prototype interface that would be built byPrototype.Builder.buildPrototype()
- All Implemented Interfaces:
Prototype.Builder<BUILDER,,PROTOTYPE> ConfigBuilderSupport.ConfiguredBuilder<BUILDER,,PROTOTYPE> ConfigBuilderSupport.ConfiguredBuilder<BUILDER,PROTOTYPE>
- Direct Known Subclasses:
WebClientConfig.Builder
- Enclosing interface:
WebClientConfig
WebClientConfig.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classGenerated implementation of the prototype, can be extended by descendant prototype implementations.Nested classes/interfaces inherited from class io.helidon.webclient.api.HttpClientConfig.BuilderBase
HttpClientConfig.BuilderBase.HttpClientConfigImplNested classes/interfaces inherited from class io.helidon.webclient.api.HttpConfigBase.BuilderBase
HttpConfigBase.BuilderBase.HttpConfigBaseImpl -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddHeader(HeaderName name, int value) Add a default header value.addHeader(HeaderName name, long value) Add a default header value.addHeader(HeaderName name, String value) Add a default header value.Add default header value.Add default header value.Add default header value.addProtocolConfig(ProtocolConfig protocolConfig) Configuration of client protocols.addProtocolConfigs(List<? extends ProtocolConfig> protocolConfigs) Configuration of client protocols.addProtocolPreference(String protocolPreference) List of HTTP protocol IDs by order of preference.addProtocolPreference(List<String> protocolPreference) List of HTTP protocol IDs by order of preference.Base URI of the client.Base URI of the client.Clear all protocolConfigs.Clear all protocolPreference.Deprecated.Update builder from configuration (node of this type).from(WebClientConfig prototype) Update this builder from an existing prototype instance.from(WebClientConfig.BuilderBase<?, ?> builder) Update this builder from an existing prototype builder instance.protected voidHandles providers and decorators.Configuration of client protocols.protocolConfigs(List<? extends ProtocolConfig> protocolConfigs) Configuration of client protocols.booleanService discovery flag forprotocolConfigs().protocolConfigsDiscoverServices(boolean protocolConfigsDiscoverServices) Service discovery flag forprotocolConfigs().List of HTTP protocol IDs by order of preference.protocolPreference(List<String> protocolPreference) List of HTTP protocol IDs by order of preference.toString()protected voidValidates required properties.Methods inherited from class io.helidon.webclient.api.HttpClientConfig.BuilderBase
addDefaultHeadersMap, addHeader, addHeaders, addMediaSupport, addMediaSupports, addService, addServices, baseAddress, baseAddress, baseFragment, baseFragment, baseQuery, baseQuery, baseUri, baseUri, clearBaseAddress, clearBaseFragment, clearBaseQuery, clearBaseUri, clearCookieManager, clearHeaders, clearMediaSupports, clearServices, connectionCacheSize, connectionCacheSize, connectionListener, connectionListener, contentEncoding, contentEncoding, contentEncoding, contentEncoding, contentEncoding, cookieManager, cookieManager, cookieManager, cookieManager, defaultHeadersMap, defaultHeadersMap, dnsAddressLookup, dnsAddressLookup, dnsResolver, dnsResolver, executor, executor, from, from, headers, headers, maxInMemoryEntity, maxInMemoryEntity, mediaContext, mediaContext, mediaContext, mediaContext, mediaContext, mediaSupports, mediaSupports, mediaTypeParserMode, mediaTypeParserMode, readContinueTimeout, readContinueTimeout, relativeUris, relativeUris, sendExpectContinue, sendExpectContinue, services, services, servicesDiscoverServices, servicesDiscoverServices, shareConnectionCache, shareConnectionCache, socketOptions, socketOptions, socketOptions, socketOptions, writeBufferSize, writeBufferSizeMethods inherited from class io.helidon.webclient.api.HttpConfigBase.BuilderBase
addProperties, clearConnectTimeout, clearReadTimeout, config, connectTimeout, connectTimeout, followRedirects, followRedirects, from, from, keepAlive, keepAlive, maxRedirects, maxRedirects, properties, properties, proxy, proxy, proxy, proxy, putProperty, readTimeout, readTimeout, tls, tls, tls, tls, tlsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface io.helidon.builder.api.Prototype.Builder
buildPrototype, self
-
Constructor Details
-
BuilderBase
protected BuilderBase()Protected to support extensibility.
-
-
Method Details
-
from
Update this builder from an existing prototype instance. This method disables automatic service discovery.- Parameters:
prototype- existing prototype to update this builder from- Returns:
- updated builder instance
-
from
Update this builder from an existing prototype builder instance.- Parameters:
builder- existing builder prototype to update this builder from- Returns:
- updated builder instance
-
baseUri
Base URI of the client.- Overrides:
baseUriin classHttpClientConfig.BuilderBase<BUILDER extends WebClientConfig.BuilderBase<BUILDER,PROTOTYPE>, PROTOTYPE extends WebClientConfig> - Parameters:
baseUri- base URI to use, query is extracted to base query (if any)- Returns:
- updated builder instance
-
baseUri
Base URI of the client.- Overrides:
baseUriin classHttpClientConfig.BuilderBase<BUILDER extends WebClientConfig.BuilderBase<BUILDER,PROTOTYPE>, PROTOTYPE extends WebClientConfig> - Parameters:
baseUri- base URI to use, query is extracted to base query (if any)- Returns:
- updated builder instance
-
addHeader
Add a default header value.- Overrides:
addHeaderin classHttpClientConfig.BuilderBase<BUILDER extends WebClientConfig.BuilderBase<BUILDER,PROTOTYPE>, PROTOTYPE extends WebClientConfig> - Parameters:
name- name of the headervalue- value of the header- Returns:
- updated builder instance
-
addHeader
Add a default header value.- Overrides:
addHeaderin classHttpClientConfig.BuilderBase<BUILDER extends WebClientConfig.BuilderBase<BUILDER,PROTOTYPE>, PROTOTYPE extends WebClientConfig> - Parameters:
name- name of the headervalue- value of the header- Returns:
- updated builder instance
-
addHeader
Add a default header value.- Overrides:
addHeaderin classHttpClientConfig.BuilderBase<BUILDER extends WebClientConfig.BuilderBase<BUILDER,PROTOTYPE>, PROTOTYPE extends WebClientConfig> - Parameters:
name- name of the headervalue- value of the header- Returns:
- updated builder instance
-
addHeader
Add default header value. This method is not optimal and should only be used when the header name is really obtained from a string, in other cases, use an alternative withHeaderNameorHeader.- Overrides:
addHeaderin classHttpClientConfig.BuilderBase<BUILDER extends WebClientConfig.BuilderBase<BUILDER,PROTOTYPE>, PROTOTYPE extends WebClientConfig> - Parameters:
name- name of the headervalue- value of the header- Returns:
- updated builder instance
-
addHeader
Add default header value. This method is not optimal and should only be used when the header name is really obtained from a string, in other cases, use an alternative withHeaderNameorHeader.- Overrides:
addHeaderin classHttpClientConfig.BuilderBase<BUILDER extends WebClientConfig.BuilderBase<BUILDER,PROTOTYPE>, PROTOTYPE extends WebClientConfig> - Parameters:
name- name of the headervalue- value of the header- Returns:
- updated builder instance
-
addHeader
Add default header value. This method is not optimal and should only be used when the header name is really obtained from a string, in other cases, use an alternative withHeaderNameorHeader.- Overrides:
addHeaderin classHttpClientConfig.BuilderBase<BUILDER extends WebClientConfig.BuilderBase<BUILDER,PROTOTYPE>, PROTOTYPE extends WebClientConfig> - Parameters:
name- name of the headervalue- value of the header- Returns:
- updated builder instance
-
config
Deprecated.Update builder from configuration (node of this type). If a value is present in configuration, it would override currently configured values.- Specified by:
configin interfaceConfigBuilderSupport.ConfiguredBuilder<BUILDER extends WebClientConfig.BuilderBase<BUILDER,PROTOTYPE>, PROTOTYPE extends WebClientConfig> - Overrides:
configin classHttpClientConfig.BuilderBase<BUILDER extends WebClientConfig.BuilderBase<BUILDER,PROTOTYPE>, PROTOTYPE extends WebClientConfig> - Parameters:
config- configuration instance used to obtain values to update this builder- Returns:
- updated builder instance
-
config
Update builder from configuration (node of this type). If a value is present in configuration, it would override currently configured values.- Specified by:
configin interfaceConfigBuilderSupport.ConfiguredBuilder<BUILDER extends WebClientConfig.BuilderBase<BUILDER,PROTOTYPE>, PROTOTYPE extends WebClientConfig> - Overrides:
configin classHttpClientConfig.BuilderBase<BUILDER extends WebClientConfig.BuilderBase<BUILDER,PROTOTYPE>, PROTOTYPE extends WebClientConfig> - Parameters:
config- configuration instance used to obtain values to update this builder- Returns:
- updated builder instance
-
clearProtocolConfigs
Clear all protocolConfigs.- Returns:
- updated builder instance
- See Also:
-
protocolConfigs
Configuration of client protocols.- Parameters:
protocolConfigs- client protocol configurations- Returns:
- updated builder instance
- See Also:
-
addProtocolConfigs
Configuration of client protocols.- Parameters:
protocolConfigs- client protocol configurations- Returns:
- updated builder instance
- See Also:
-
addProtocolConfig
Configuration of client protocols.- Parameters:
protocolConfig- add single client protocol configurations- Returns:
- updated builder instance
- See Also:
-
clearProtocolPreference
Clear all protocolPreference.- Returns:
- updated builder instance
- See Also:
-
protocolPreference
List of HTTP protocol IDs by order of preference. If left empty, all discovered providers will be used, ordered by weight.For example if both HTTP/2 and HTTP/1.1 providers are available (considering HTTP/2 has higher weights), for ALPN we will send h2 and http/1.1 and decide based on response. If TLS is not used, we would attempt an upgrade (or use prior knowledge if configured in
protocolConfigs()).- Parameters:
protocolPreference- list of HTTP protocol IDs in order of preference- Returns:
- updated builder instance
- See Also:
-
addProtocolPreference
List of HTTP protocol IDs by order of preference. If left empty, all discovered providers will be used, ordered by weight.For example if both HTTP/2 and HTTP/1.1 providers are available (considering HTTP/2 has higher weights), for ALPN we will send h2 and http/1.1 and decide based on response. If TLS is not used, we would attempt an upgrade (or use prior knowledge if configured in
protocolConfigs()).- Parameters:
protocolPreference- list of HTTP protocol IDs in order of preference- Returns:
- updated builder instance
- See Also:
-
addProtocolPreference
List of HTTP protocol IDs by order of preference. If left empty, all discovered providers will be used, ordered by weight.For example if both HTTP/2 and HTTP/1.1 providers are available (considering HTTP/2 has higher weights), for ALPN we will send h2 and http/1.1 and decide based on response. If TLS is not used, we would attempt an upgrade (or use prior knowledge if configured in
protocolConfigs()).- Parameters:
protocolPreference- add single list of HTTP protocol IDs in order of preference- Returns:
- updated builder instance
- See Also:
-
protocolConfigsDiscoverServices
Service discovery flag forprotocolConfigs(). If set totrue, services will be discovered from Java service loader, or Helidon ServiceRegistry.- Parameters:
protocolConfigsDiscoverServices- whether to enable automatic service discovery- Returns:
- updated builder instance
- See Also:
-
protocolConfigs
Configuration of client protocols.- Returns:
- client protocol configurations
-
protocolPreference
List of HTTP protocol IDs by order of preference. If left empty, all discovered providers will be used, ordered by weight.For example if both HTTP/2 and HTTP/1.1 providers are available (considering HTTP/2 has higher weights), for ALPN we will send h2 and http/1.1 and decide based on response. If TLS is not used, we would attempt an upgrade (or use prior knowledge if configured in
protocolConfigs()).- Returns:
- list of HTTP protocol IDs in order of preference
-
protocolConfigsDiscoverServices
public boolean protocolConfigsDiscoverServices()Service discovery flag forprotocolConfigs(). If set totrue, services will be discovered from Java service loader, or Helidon ServiceRegistry.- Returns:
- whether to enable automatic service discovery
-
toString
- Overrides:
toStringin classHttpClientConfig.BuilderBase<BUILDER extends WebClientConfig.BuilderBase<BUILDER,PROTOTYPE>, PROTOTYPE extends WebClientConfig>
-
preBuildPrototype
protected void preBuildPrototype()Handles providers and decorators.- Overrides:
preBuildPrototypein classHttpClientConfig.BuilderBase<BUILDER extends WebClientConfig.BuilderBase<BUILDER,PROTOTYPE>, PROTOTYPE extends WebClientConfig>
-
validatePrototype
protected void validatePrototype()Validates required properties.- Overrides:
validatePrototypein classHttpClientConfig.BuilderBase<BUILDER extends WebClientConfig.BuilderBase<BUILDER,PROTOTYPE>, PROTOTYPE extends WebClientConfig>
-
config(io.helidon.config.Config)