- java.lang.Object
-
- io.helidon.webclient.WebClient.Builder
-
- All Implemented Interfaces:
Builder<WebClient>,MediaContextBuilder<WebClient.Builder>,ParentingMediaContextBuilder<WebClient.Builder>,Supplier<WebClient>
- Enclosing interface:
- WebClient
public static final class WebClient.Builder extends Object implements Builder<WebClient>, ParentingMediaContextBuilder<WebClient.Builder>, MediaContextBuilder<WebClient.Builder>
Fluent API builder forWebClient.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description WebClient.BuilderaddCookie(String name, String value)Add a default cookie.WebClient.BuilderaddHeader(String header, String... value)Add a default header (such as accept).WebClient.BuilderaddMediaSupport(MediaSupport mediaSupport)Adds new instance ofMediaSupport.WebClient.BuilderaddReader(MessageBodyReader<?> reader)Registers new reader.WebClient.BuilderaddService(WebClientService service)Register new instance ofWebClientService.WebClient.BuilderaddService(Supplier<? extends WebClientService> serviceSupplier)Register new instance ofWebClientService.WebClient.BuilderaddStreamReader(MessageBodyStreamReader<?> streamReader)Registers new stream reader.WebClient.BuilderaddStreamWriter(MessageBodyStreamWriter<?> streamWriter)Registers new stream writer.WebClient.BuilderaddWriter(MessageBodyWriter<?> writer)Registers new writer.WebClient.BuilderbaseUri(String uri)Sets base uri for each request.WebClient.BuilderbaseUri(URI uri)Sets base uri for each request.WebClient.BuilderbaseUri(URL url)Sets base url for each request.WebClientbuild()Build the instance from this builder.WebClient.Builderconfig(Config config)Config of this client.WebClient.BuilderconnectTimeout(long amount, TimeUnit unit)Sets new connection timeout.WebClient.Buildercontext(Context context)Sets specific context which should be used in requests.WebClient.BuilderdnsResolverType(DnsResolverType dnsResolverType)Set which type of DNS resolver should be used.WebClient.BuilderenableAutomaticCookieStore(boolean enableAutomaticCookieStore)Set whether cookies should be automatically saved to the store.WebClient.BuilderfollowRedirects(boolean follow)Sets if redirects should be followed or not.WebClient.BuilderkeepAlive(boolean keepAlive)Set whether connection to server should be kept alive after request.WebClient.BuildermediaContext(MediaContext mediaContext)Sets theMediaContextparent and overrides the existing one.WebClient.BuildermediaTypeParserRelaxed(boolean relaxedMode)Configure media type parsing mode for HTTPContent-Typeheader.WebClient.Builderproxy(Proxy proxy)Sets new proxy which will used for the requests.WebClient.BuilderreadTimeout(long amount, TimeUnit unit)Sets new read timeout.WebClient.BuilderrelativeUris(boolean relativeUris)Can be set totrueto force the use of relative URIs in all requests, regardless of the presence or absence of proxies or no-proxy lists.WebClient.Buildertls(WebClientTls webClientTls)Sets newWebClientTlsinstance which contains ssl configuration.WebClient.BuilderuserAgent(String userAgent)Sets user agent name.WebClient.BuilderuseSystemServiceLoader(boolean useServiceLoader)Sets if Java Service loader should be used to load allWebClientServiceProvider.WebClient.BuildervalidateHeaders(boolean validate)Whether to validate header names.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.helidon.media.common.MediaContextBuilder
addMediaSupport, addReader, addStreamReader, addStreamWriter, addWriter
-
Methods inherited from interface io.helidon.media.common.ParentingMediaContextBuilder
mediaContext
-
-
-
-
Method Detail
-
build
public WebClient build()
Description copied from interface:BuilderBuild the instance from this builder.
-
addService
public WebClient.Builder addService(WebClientService service)
Register new instance ofWebClientService.- Parameters:
service- client service instance- Returns:
- updated builder instance
-
addService
public WebClient.Builder addService(Supplier<? extends WebClientService> serviceSupplier)
Register new instance ofWebClientService.- Parameters:
serviceSupplier- client service instance- Returns:
- updated builder instance
-
useSystemServiceLoader
public WebClient.Builder useSystemServiceLoader(boolean useServiceLoader)
Sets if Java Service loader should be used to load allWebClientServiceProvider.- Parameters:
useServiceLoader- whether to use the Java Service loader- Returns:
- updated builder instance
-
proxy
public WebClient.Builder proxy(Proxy proxy)
Sets new proxy which will used for the requests.- Parameters:
proxy- proxy instance- Returns:
- updated builder instance
-
relativeUris
public WebClient.Builder relativeUris(boolean relativeUris)
Can be set totrueto force the use of relative URIs in all requests, regardless of the presence or absence of proxies or no-proxy lists.- Parameters:
relativeUris- relative URIs flag- Returns:
- updated builder instance
-
mediaContext
public WebClient.Builder mediaContext(MediaContext mediaContext)
Description copied from interface:ParentingMediaContextBuilderSets theMediaContextparent and overrides the existing one. This method discards all previously registered readers and writers via builder.- Specified by:
mediaContextin interfaceParentingMediaContextBuilder<WebClient.Builder>- Parameters:
mediaContext- media context- Returns:
- updated instance of the builder
-
addMediaSupport
public WebClient.Builder addMediaSupport(MediaSupport mediaSupport)
Description copied from interface:MediaContextBuilderAdds new instance ofMediaSupport.- Specified by:
addMediaSupportin interfaceMediaContextBuilder<WebClient.Builder>- Parameters:
mediaSupport- media support- Returns:
- updated instance of the builder
-
addReader
public WebClient.Builder addReader(MessageBodyReader<?> reader)
Description copied from interface:MediaContextBuilderRegisters new reader.- Specified by:
addReaderin interfaceMediaContextBuilder<WebClient.Builder>- Parameters:
reader- reader- Returns:
- updated instance of the builder
-
addStreamReader
public WebClient.Builder addStreamReader(MessageBodyStreamReader<?> streamReader)
Description copied from interface:MediaContextBuilderRegisters new stream reader.- Specified by:
addStreamReaderin interfaceMediaContextBuilder<WebClient.Builder>- Parameters:
streamReader- stream reader- Returns:
- updated instance of the builder
-
addWriter
public WebClient.Builder addWriter(MessageBodyWriter<?> writer)
Description copied from interface:MediaContextBuilderRegisters new writer.- Specified by:
addWriterin interfaceMediaContextBuilder<WebClient.Builder>- Parameters:
writer- writer- Returns:
- updated instance of the builder
-
addStreamWriter
public WebClient.Builder addStreamWriter(MessageBodyStreamWriter<?> streamWriter)
Description copied from interface:MediaContextBuilderRegisters new stream writer.- Specified by:
addStreamWriterin interfaceMediaContextBuilder<WebClient.Builder>- Parameters:
streamWriter- stream writer- Returns:
- updated instance of the builder
-
config
public WebClient.Builder config(Config config)
Config of this client.- Parameters:
config- client config- Returns:
- updated builder instance
-
connectTimeout
public WebClient.Builder connectTimeout(long amount, TimeUnit unit)
Sets new connection timeout.- Parameters:
amount- amount of timeunit- time unit- Returns:
- updated builder instance
-
readTimeout
public WebClient.Builder readTimeout(long amount, TimeUnit unit)
Sets new read timeout.- Parameters:
amount- amount of timeunit- time unit- Returns:
- updated builder instance
-
tls
public WebClient.Builder tls(WebClientTls webClientTls)
Sets newWebClientTlsinstance which contains ssl configuration.- Parameters:
webClientTls- tls instance- Returns:
- updated builder instance
-
context
public WebClient.Builder context(Context context)
Sets specific context which should be used in requests.- Parameters:
context- context- Returns:
- updated builder instance
-
addCookie
public WebClient.Builder addCookie(String name, String value)
Add a default cookie.- Parameters:
name- cookie namevalue- cookie value- Returns:
- updated builder instance
-
addHeader
public WebClient.Builder addHeader(String header, String... value)
Add a default header (such as accept).- Parameters:
header- header namevalue- header values- Returns:
- updated builder instance
-
baseUri
public WebClient.Builder baseUri(URI uri)
Sets base uri for each request.- Parameters:
uri- base uri- Returns:
- updated builder instance
-
baseUri
public WebClient.Builder baseUri(String uri)
Sets base uri for each request.- Parameters:
uri- base uri- Returns:
- updated builder instance
-
baseUri
public WebClient.Builder baseUri(URL url)
Sets base url for each request.- Parameters:
url- base url- Returns:
- updated builder instance
-
followRedirects
public WebClient.Builder followRedirects(boolean follow)
Sets if redirects should be followed or not.- Parameters:
follow- follow redirects- Returns:
- updated builder instance
-
userAgent
public WebClient.Builder userAgent(String userAgent)
Sets user agent name.- Parameters:
userAgent- user agent- Returns:
- updated builder instance
-
keepAlive
public WebClient.Builder keepAlive(boolean keepAlive)
Set whether connection to server should be kept alive after request. This also sets headerHttp.Header.CONNECTIONtokeep-alive.- Parameters:
keepAlive- keep connection alive- Returns:
- updated builder instance
-
validateHeaders
public WebClient.Builder validateHeaders(boolean validate)
Whether to validate header names. Defaults totrue.- Parameters:
validate- whether to validate the header name contains only allowed characters- Returns:
- updated builder instance
-
dnsResolverType
public WebClient.Builder dnsResolverType(DnsResolverType dnsResolverType)
Set which type of DNS resolver should be used.- Parameters:
dnsResolverType- type of the DNS resolver to be used- Returns:
- updated builder instance
-
enableAutomaticCookieStore
public WebClient.Builder enableAutomaticCookieStore(boolean enableAutomaticCookieStore)
Set whether cookies should be automatically saved to the store.- Parameters:
enableAutomaticCookieStore- whether to save cookies, default is false- Returns:
- updated builder instance
-
mediaTypeParserRelaxed
public WebClient.Builder mediaTypeParserRelaxed(boolean relaxedMode)
Configure media type parsing mode for HTTPContent-Typeheader. Media type parsing in relaxed mode accepts incomplete Content-Type values like"text", which are accepted as corresponding complete value, e.g."text/plain". Parsing in strict mode (default) expect exactContent-Typematching.- Parameters:
relaxedMode- value oftruesets relaxed media type parsing mode, value offalsesets strict media type parsing mode- Returns:
- updated builder instance
-
-