Package io.vertx.ext.web.client
Class WebClientOptions
- java.lang.Object
-
- io.vertx.core.net.NetworkOptions
-
- io.vertx.core.net.TCPSSLOptions
-
- io.vertx.core.net.ClientOptionsBase
-
- io.vertx.core.http.HttpClientOptions
-
- io.vertx.ext.web.client.WebClientOptions
-
- Direct Known Subclasses:
CachingWebClientOptions
,ConsulClientOptions
public class WebClientOptions extends HttpClientOptions
- Author:
- Thomas Segismont
-
-
Field Summary
Fields Modifier and Type Field Description static ExpandOptions
DEFAULT_EXPAND_OPTIONS
static boolean
DEFAULT_FOLLOW_REDIRECTS
The default value of whether the Web Client should follow redirects = true.static String
DEFAULT_USER_AGENT
The default user agent string = Vert.x-WebClient/<version>.static boolean
DEFAULT_USER_AGENT_ENABLED
The default value of whether the Web Client should send a user agent header = true.-
Fields inherited from class io.vertx.core.http.HttpClientOptions
DEFAULT_ALPN_VERSIONS, DEFAULT_DECODER_INITIAL_BUFFER_SIZE, DEFAULT_DECOMPRESSION_SUPPORTED, DEFAULT_DEFAULT_HOST, DEFAULT_DEFAULT_PORT, DEFAULT_FORCE_SNI, DEFAULT_HTTP2_CLEAR_TEXT_UPGRADE, DEFAULT_HTTP2_CLEAR_TEXT_UPGRADE_WITH_PREFLIGHT_REQUEST, DEFAULT_HTTP2_CONNECTION_WINDOW_SIZE, DEFAULT_HTTP2_KEEP_ALIVE_TIMEOUT, DEFAULT_HTTP2_MULTIPLEXING_LIMIT, DEFAULT_KEEP_ALIVE, DEFAULT_KEEP_ALIVE_TIMEOUT, DEFAULT_MAX_CHUNK_SIZE, DEFAULT_MAX_HEADER_SIZE, DEFAULT_MAX_INITIAL_LINE_LENGTH, DEFAULT_MAX_REDIRECTS, DEFAULT_NAME, DEFAULT_PIPELINING, DEFAULT_PIPELINING_LIMIT, DEFAULT_PROTOCOL_VERSION, DEFAULT_SHARED, DEFAULT_TRACING_POLICY, DEFAULT_VERIFY_HOST
-
Fields inherited from class io.vertx.core.net.ClientOptionsBase
DEFAULT_CONNECT_TIMEOUT, DEFAULT_METRICS_NAME
-
Fields inherited from class io.vertx.core.net.TCPSSLOptions
DEFAULT_IDLE_TIMEOUT, DEFAULT_IDLE_TIMEOUT_TIME_UNIT, DEFAULT_READ_IDLE_TIMEOUT, DEFAULT_SO_LINGER, DEFAULT_SSL, DEFAULT_SSL_ENGINE, DEFAULT_TCP_CORK, DEFAULT_TCP_FAST_OPEN, DEFAULT_TCP_KEEP_ALIVE, DEFAULT_TCP_NO_DELAY, DEFAULT_TCP_QUICKACK, DEFAULT_TCP_USER_TIMEOUT, DEFAULT_WRITE_IDLE_TIMEOUT
-
Fields inherited from class io.vertx.core.net.NetworkOptions
DEFAULT_LOG_ACTIVITY_FORMAT, DEFAULT_LOG_ENABLED, DEFAULT_RECEIVE_BUFFER_SIZE, DEFAULT_REUSE_ADDRESS, DEFAULT_REUSE_PORT, DEFAULT_SEND_BUFFER_SIZE, DEFAULT_TRAFFIC_CLASS
-
-
Constructor Summary
Constructors Constructor Description WebClientOptions()
WebClientOptions(HttpClientOptions other)
Copy constructor usingHttpClientOptions
.WebClientOptions(JsonObject json)
Creates a new instance from JSON.WebClientOptions(WebClientOptions other)
Copy constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description WebClientOptions
addCrlPath(String crlPath)
Add a CRL pathWebClientOptions
addCrlValue(Buffer crlValue)
Add a CRL valueWebClientOptions
addEnabledCipherSuite(String suite)
Add an enabled cipher suite, appended to the ordered suites.WebClientOptions
addEnabledSecureTransportProtocol(String protocol)
Add an enabled SSL/TLS protocols, appended to the ordered protocols.WebClientOptions
addNonProxyHost(String nonProxyHost)
Add ahost
to theClientOptionsBase.getNonProxyHosts()
list.ExpandOptions
getTemplateExpandOptions()
String
getUserAgent()
boolean
isFollowRedirects()
boolean
isUserAgentEnabled()
static String
loadUserAgent()
WebClientOptions
removeEnabledSecureTransportProtocol(String protocol)
Removes an enabled SSL/TLS protocol from the ordered protocols.WebClientOptions
setAlpnVersions(List<HttpVersion> alpnVersions)
Set the list of protocol versions to provide to the server during the Application-Layer Protocol Negotiation.WebClientOptions
setConnectTimeout(int connectTimeout)
Set the connect timeoutWebClientOptions
setDecoderInitialBufferSize(int decoderInitialBufferSize)
set toinitialBufferSizeHttpDecoder
the initial buffer of the HttpDecoder.WebClientOptions
setDecompressionSupported(boolean tryUseCompression)
Whether the client should send requests with anaccepting-encoding
header set to a compression algorithm.WebClientOptions
setDefaultHost(String defaultHost)
Set the default host name to be used by this client in requests if none is provided when making the request.WebClientOptions
setDefaultPort(int defaultPort)
Set the default port to be used by this client in requests if none is provided when making the request.WebClientOptions
setEnabledSecureTransportProtocols(Set<String> enabledSecureTransportProtocols)
Sets the list of enabled SSL/TLS protocols.WebClientOptions
setFollowRedirects(boolean followRedirects)
Configure the default behavior of the client to follow HTTP30x
redirections.WebClientOptions
setForceSni(boolean forceSni)
By default, the server name is only sent for Fully Qualified Domain Name (FQDN), setting this property totrue
forces the server name to be always sent.WebClientOptions
setHttp2ClearTextUpgrade(boolean value)
Set totrue
when an h2c connection is established using an HTTP/1.1 upgrade request, andfalse
when an h2c connection is established directly (with prior knowledge).WebClientOptions
setHttp2ConnectionWindowSize(int http2ConnectionWindowSize)
Set the default HTTP/2 connection window size.WebClientOptions
setHttp2KeepAliveTimeout(int keepAliveTimeout)
Set the keep alive timeout for HTTP/2 connections, in seconds.WebClientOptions
setHttp2MultiplexingLimit(int limit)
Set a client limit of the number concurrent streams for each HTTP/2 connection, this limits the number of streams the client can create for a connection.WebClientOptions
setIdleTimeout(int idleTimeout)
Set the idle timeout, default time unit is seconds.WebClientOptions
setIdleTimeoutUnit(TimeUnit idleTimeoutUnit)
Set the idle timeout unit.WebClientOptions
setInitialSettings(Http2Settings settings)
Set the HTTP/2 connection settings immediately sent by to the server when the client connects.WebClientOptions
setKeepAlive(boolean keepAlive)
Set whether keep alive is enabled on the clientWebClientOptions
setKeepAliveTimeout(int keepAliveTimeout)
Set the keep alive timeout for HTTP/1.x, in seconds.WebClientOptions
setKeyCertOptions(KeyCertOptions options)
Set the key/cert options.WebClientOptions
setLocalAddress(String localAddress)
Set the local interface to bind for network connections.WebClientOptions
setLogActivity(boolean logEnabled)
Set to true to enabled network activity logging: Netty's pipeline is configured for logging on Netty's logger.WebClientOptions
setMaxChunkSize(int maxChunkSize)
Set the maximum HTTP chunk sizeWebClientOptions
setMaxHeaderSize(int maxHeaderSize)
Set the maximum length of all headers for HTTP/1.x .WebClientOptions
setMaxInitialLineLength(int maxInitialLineLength)
Set the maximum length of the initial line for HTTP/1.x (e.g.WebClientOptions
setMaxRedirects(int maxRedirects)
Set tomaxRedirects
the maximum number of redirection a request can follow.WebClientOptions
setMetricsName(String metricsName)
Set the metrics name identifying the reported metrics, useful for grouping metrics with the same name.WebClientOptions
setName(String name)
Set the client name, used when the client is shared, otherwise ignored.WebClientOptions
setNonProxyHosts(List<String> nonProxyHosts)
Set a list of remote hosts that are not proxied when the client is configured to use a proxy.WebClientOptions
setPipelining(boolean pipelining)
Set whether pipe-lining is enabled on the clientWebClientOptions
setPipeliningLimit(int limit)
Set the limit of pending requests a pipe-lined HTTP/1 connection can send.WebClientOptions
setProtocolVersion(HttpVersion protocolVersion)
Set the protocol version.WebClientOptions
setProxyOptions(ProxyOptions proxyOptions)
Set proxy options for connections via CONNECT proxy (e.g.WebClientOptions
setReadIdleTimeout(int idleTimeout)
Set the read idle timeout, default time unit is seconds.WebClientOptions
setReceiveBufferSize(int receiveBufferSize)
Set the TCP receive buffer sizeWebClientOptions
setReuseAddress(boolean reuseAddress)
Set the value of reuse addressWebClientOptions
setReusePort(boolean reusePort)
Set the value of reuse port.WebClientOptions
setSendBufferSize(int sendBufferSize)
Set the TCP send buffer sizeWebClientOptions
setShared(boolean shared)
Set totrue
to share the client.WebClientOptions
setSoLinger(int soLinger)
Set whether SO_linger keep alive is enabledWebClientOptions
setSsl(boolean ssl)
Set whether SSL/TLS is enabledWebClientOptions
setSslEngineOptions(SSLEngineOptions sslEngineOptions)
Set to use SSL engine implementation to use.WebClientOptions
setSslHandshakeTimeout(long sslHandshakeTimeout)
Set the SSL handshake timeout, default time unit is seconds.WebClientOptions
setSslHandshakeTimeoutUnit(TimeUnit sslHandshakeTimeoutUnit)
Set the SSL handshake timeout unit.WebClientOptions
setTcpCork(boolean tcpCork)
Enable theTCP_CORK
option - only with linux native transport.WebClientOptions
setTcpFastOpen(boolean tcpFastOpen)
Enable theTCP_FASTOPEN
option - only with linux native transport.WebClientOptions
setTcpKeepAlive(boolean tcpKeepAlive)
Set whether TCP keep alive is enabledWebClientOptions
setTcpNoDelay(boolean tcpNoDelay)
Set whether TCP no delay is enabledWebClientOptions
setTcpQuickAck(boolean tcpQuickAck)
Enable theTCP_QUICKACK
option - only with linux native transport.WebClientOptions
setTemplateExpandOptions(ExpandOptions templateExpandOptions)
WebClientOptions
setTracingPolicy(TracingPolicy tracingPolicy)
Set the tracing policy for the client behavior when Vert.x has tracing enabled.WebClientOptions
setTrafficClass(int trafficClass)
Set the value of traffic classWebClientOptions
setTrustAll(boolean trustAll)
Set whether all server certificates should be trustedWebClientOptions
setTrustOptions(TrustOptions options)
Set the trust options.WebClientOptions
setUseAlpn(boolean useAlpn)
Set the ALPN usage.WebClientOptions
setUserAgent(String userAgent)
Sets the Web Client user agent header.WebClientOptions
setUserAgentEnabled(boolean userAgentEnabled)
Sets whether the Web Client should send a user agent header.WebClientOptions
setVerifyHost(boolean verifyHost)
Set whether hostname verification is enabledWebClientOptions
setWriteIdleTimeout(int idleTimeout)
Set the write idle timeout, default time unit is seconds.JsonObject
toJson()
Convert to JSON-
Methods inherited from class io.vertx.core.http.HttpClientOptions
getAlpnVersions, getDecoderInitialBufferSize, getDefaultHost, getDefaultPort, getHttp2ConnectionWindowSize, getHttp2KeepAliveTimeout, getHttp2MultiplexingLimit, getInitialSettings, getKeepAliveTimeout, getMaxChunkSize, getMaxHeaderSize, getMaxInitialLineLength, getMaxRedirects, getName, getPipeliningLimit, getProtocolVersion, getTracingPolicy, isDecompressionSupported, isForceSni, isHttp2ClearTextUpgrade, isHttp2ClearTextUpgradeWithPreflightRequest, isKeepAlive, isPipelining, isShared, isVerifyHost, removeEnabledCipherSuite, setActivityLogDataFormat, setHttp2ClearTextUpgradeWithPreflightRequest, setTcpUserTimeout
-
Methods inherited from class io.vertx.core.net.ClientOptionsBase
getConnectTimeout, getLocalAddress, getMetricsName, getNonProxyHosts, getOrCreateSSLOptions, getProxyOptions, getSslOptions, isTrustAll
-
Methods inherited from class io.vertx.core.net.TCPSSLOptions
getCrlPaths, getCrlValues, getEnabledCipherSuites, getEnabledSecureTransportProtocols, getIdleTimeout, getIdleTimeoutUnit, getKeyCertOptions, getReadIdleTimeout, getSoLinger, getSslEngineOptions, getSslHandshakeTimeout, getSslHandshakeTimeoutUnit, getTcpUserTimeout, getTrustOptions, getWriteIdleTimeout, isSsl, isTcpCork, isTcpFastOpen, isTcpKeepAlive, isTcpNoDelay, isTcpQuickAck, isUseAlpn
-
Methods inherited from class io.vertx.core.net.NetworkOptions
getActivityLogDataFormat, getLogActivity, getReceiveBufferSize, getSendBufferSize, getTrafficClass, isReuseAddress, isReusePort
-
-
-
-
Field Detail
-
DEFAULT_USER_AGENT_ENABLED
public static final boolean DEFAULT_USER_AGENT_ENABLED
The default value of whether the Web Client should send a user agent header = true.- See Also:
- Constant Field Values
-
DEFAULT_USER_AGENT
public static final String DEFAULT_USER_AGENT
The default user agent string = Vert.x-WebClient/<version>.
-
DEFAULT_FOLLOW_REDIRECTS
public static final boolean DEFAULT_FOLLOW_REDIRECTS
The default value of whether the Web Client should follow redirects = true.- See Also:
- Constant Field Values
-
DEFAULT_EXPAND_OPTIONS
public static final ExpandOptions DEFAULT_EXPAND_OPTIONS
-
-
Constructor Detail
-
WebClientOptions
public WebClientOptions()
-
WebClientOptions
public WebClientOptions(WebClientOptions other)
Copy constructor.- Parameters:
other
- the options to copy
-
WebClientOptions
public WebClientOptions(HttpClientOptions other)
Copy constructor usingHttpClientOptions
.- Parameters:
other
- the options to copy
-
WebClientOptions
public WebClientOptions(JsonObject json)
Creates a new instance from JSON.- Parameters:
json
- the JSON object
-
-
Method Detail
-
toJson
public JsonObject toJson()
Convert to JSON- Overrides:
toJson
in classHttpClientOptions
- Returns:
- the JSON
-
isUserAgentEnabled
public boolean isUserAgentEnabled()
- Returns:
- true if the Web Client should send a user agent header, false otherwise
-
setUserAgentEnabled
public WebClientOptions setUserAgentEnabled(boolean userAgentEnabled)
Sets whether the Web Client should send a user agent header. Defaults to true.- Parameters:
userAgentEnabled
- true to send a user agent header, false otherwise- Returns:
- a reference to this, so the API can be used fluently
-
getUserAgent
public String getUserAgent()
- Returns:
- the user agent header string
-
setUserAgent
public WebClientOptions setUserAgent(String userAgent)
Sets the Web Client user agent header. Defaults to Vert.x-WebClient/<version>.- Parameters:
userAgent
- user agent header value- Returns:
- a reference to this, so the API can be used fluently
-
isFollowRedirects
public boolean isFollowRedirects()
- Returns:
- the default behavior of the client for following HTTP
30x
redirections
-
setFollowRedirects
public WebClientOptions setFollowRedirects(boolean followRedirects)
Configure the default behavior of the client to follow HTTP30x
redirections.- Parameters:
followRedirects
- true when a redirect is followed- Returns:
- a reference to this, so the API can be used fluently
-
getTemplateExpandOptions
public ExpandOptions getTemplateExpandOptions()
-
setTemplateExpandOptions
public WebClientOptions setTemplateExpandOptions(ExpandOptions templateExpandOptions)
-
setMaxRedirects
public WebClientOptions setMaxRedirects(int maxRedirects)
Description copied from class:HttpClientOptions
Set tomaxRedirects
the maximum number of redirection a request can follow.- Overrides:
setMaxRedirects
in classHttpClientOptions
- Parameters:
maxRedirects
- the maximum number of redirection- Returns:
- a reference to this, so the API can be used fluently
-
setSendBufferSize
public WebClientOptions setSendBufferSize(int sendBufferSize)
Description copied from class:NetworkOptions
Set the TCP send buffer size- Overrides:
setSendBufferSize
in classHttpClientOptions
- Parameters:
sendBufferSize
- the buffers size, in bytes- Returns:
- a reference to this, so the API can be used fluently
-
setReceiveBufferSize
public WebClientOptions setReceiveBufferSize(int receiveBufferSize)
Description copied from class:NetworkOptions
Set the TCP receive buffer size- Overrides:
setReceiveBufferSize
in classHttpClientOptions
- Parameters:
receiveBufferSize
- the buffers size, in bytes- Returns:
- a reference to this, so the API can be used fluently
-
setReuseAddress
public WebClientOptions setReuseAddress(boolean reuseAddress)
Description copied from class:NetworkOptions
Set the value of reuse address- Overrides:
setReuseAddress
in classHttpClientOptions
- Parameters:
reuseAddress
- the value of reuse address- Returns:
- a reference to this, so the API can be used fluently
-
setTrafficClass
public WebClientOptions setTrafficClass(int trafficClass)
Description copied from class:NetworkOptions
Set the value of traffic class- Overrides:
setTrafficClass
in classHttpClientOptions
- Parameters:
trafficClass
- the value of traffic class- Returns:
- a reference to this, so the API can be used fluently
-
setTcpNoDelay
public WebClientOptions setTcpNoDelay(boolean tcpNoDelay)
Description copied from class:TCPSSLOptions
Set whether TCP no delay is enabled- Overrides:
setTcpNoDelay
in classHttpClientOptions
- Parameters:
tcpNoDelay
- true if TCP no delay is enabled (Nagle disabled)- Returns:
- a reference to this, so the API can be used fluently
-
setTcpKeepAlive
public WebClientOptions setTcpKeepAlive(boolean tcpKeepAlive)
Description copied from class:TCPSSLOptions
Set whether TCP keep alive is enabled- Overrides:
setTcpKeepAlive
in classHttpClientOptions
- Parameters:
tcpKeepAlive
- true if TCP keep alive is enabled- Returns:
- a reference to this, so the API can be used fluently
-
setSoLinger
public WebClientOptions setSoLinger(int soLinger)
Description copied from class:TCPSSLOptions
Set whether SO_linger keep alive is enabled- Overrides:
setSoLinger
in classHttpClientOptions
- Parameters:
soLinger
- true if SO_linger is enabled- Returns:
- a reference to this, so the API can be used fluently
-
setIdleTimeout
public WebClientOptions setIdleTimeout(int idleTimeout)
Description copied from class:TCPSSLOptions
Set the idle timeout, default time unit is seconds. Zero means don't timeout. This determines if a connection will timeout and be closed if no data is received nor sent within the timeout. If you want change default time unit, useTCPSSLOptions.setIdleTimeoutUnit(TimeUnit)
- Overrides:
setIdleTimeout
in classHttpClientOptions
- Parameters:
idleTimeout
- the timeout- Returns:
- a reference to this, so the API can be used fluently
-
setIdleTimeoutUnit
public WebClientOptions setIdleTimeoutUnit(TimeUnit idleTimeoutUnit)
Description copied from class:TCPSSLOptions
Set the idle timeout unit. If not specified, default is seconds.- Overrides:
setIdleTimeoutUnit
in classHttpClientOptions
- Parameters:
idleTimeoutUnit
- specify time unit.- Returns:
- a reference to this, so the API can be used fluently
-
setSsl
public WebClientOptions setSsl(boolean ssl)
Description copied from class:TCPSSLOptions
Set whether SSL/TLS is enabled- Overrides:
setSsl
in classHttpClientOptions
- Parameters:
ssl
- true if enabled- Returns:
- a reference to this, so the API can be used fluently
-
setKeyCertOptions
public WebClientOptions setKeyCertOptions(KeyCertOptions options)
Description copied from class:TCPSSLOptions
Set the key/cert options.- Overrides:
setKeyCertOptions
in classHttpClientOptions
- Parameters:
options
- the key store options- Returns:
- a reference to this, so the API can be used fluently
-
setTrustOptions
public WebClientOptions setTrustOptions(TrustOptions options)
Description copied from class:TCPSSLOptions
Set the trust options.- Overrides:
setTrustOptions
in classHttpClientOptions
- Parameters:
options
- the trust options- Returns:
- a reference to this, so the API can be used fluently
-
addEnabledCipherSuite
public WebClientOptions addEnabledCipherSuite(String suite)
Description copied from class:TCPSSLOptions
Add an enabled cipher suite, appended to the ordered suites.- Overrides:
addEnabledCipherSuite
in classHttpClientOptions
- Parameters:
suite
- the suite- Returns:
- a reference to this, so the API can be used fluently
- See Also:
TCPSSLOptions.getEnabledCipherSuites()
-
addCrlPath
public WebClientOptions addCrlPath(String crlPath) throws NullPointerException
Description copied from class:TCPSSLOptions
Add a CRL path- Overrides:
addCrlPath
in classHttpClientOptions
- Parameters:
crlPath
- the path- Returns:
- a reference to this, so the API can be used fluently
- Throws:
NullPointerException
-
addCrlValue
public WebClientOptions addCrlValue(Buffer crlValue) throws NullPointerException
Description copied from class:TCPSSLOptions
Add a CRL value- Overrides:
addCrlValue
in classHttpClientOptions
- Parameters:
crlValue
- the value- Returns:
- a reference to this, so the API can be used fluently
- Throws:
NullPointerException
-
setConnectTimeout
public WebClientOptions setConnectTimeout(int connectTimeout)
Description copied from class:ClientOptionsBase
Set the connect timeout- Overrides:
setConnectTimeout
in classHttpClientOptions
- Parameters:
connectTimeout
- connect timeout, in ms- Returns:
- a reference to this, so the API can be used fluently
-
setTrustAll
public WebClientOptions setTrustAll(boolean trustAll)
Description copied from class:ClientOptionsBase
Set whether all server certificates should be trusted- Overrides:
setTrustAll
in classHttpClientOptions
- Parameters:
trustAll
- true if all should be trusted- Returns:
- a reference to this, so the API can be used fluently
-
setHttp2MultiplexingLimit
public WebClientOptions setHttp2MultiplexingLimit(int limit)
Description copied from class:HttpClientOptions
Set a client limit of the number concurrent streams for each HTTP/2 connection, this limits the number of streams the client can create for a connection. The effective number of streams for a connection is the min of this value and the server's initial settings. Setting the value to-1
means to use the value sent by the server's initial settings.-1
is the default value.- Overrides:
setHttp2MultiplexingLimit
in classHttpClientOptions
- Parameters:
limit
- the maximum concurrent for an HTTP/2 connection- Returns:
- a reference to this, so the API can be used fluently
-
setHttp2ConnectionWindowSize
public WebClientOptions setHttp2ConnectionWindowSize(int http2ConnectionWindowSize)
Description copied from class:HttpClientOptions
Set the default HTTP/2 connection window size. It overrides the initial window size set byHttp2Settings.getInitialWindowSize()
, so the connection window size is greater than for its streams, in order the data throughput. A value of-1
reuses the initial window size setting.- Overrides:
setHttp2ConnectionWindowSize
in classHttpClientOptions
- Parameters:
http2ConnectionWindowSize
- the window size applied to the connection- Returns:
- a reference to this, so the API can be used fluently
-
setKeepAlive
public WebClientOptions setKeepAlive(boolean keepAlive)
Description copied from class:HttpClientOptions
Set whether keep alive is enabled on the client- Overrides:
setKeepAlive
in classHttpClientOptions
- Parameters:
keepAlive
-true
if enabled- Returns:
- a reference to this, so the API can be used fluently
-
setPipelining
public WebClientOptions setPipelining(boolean pipelining)
Description copied from class:HttpClientOptions
Set whether pipe-lining is enabled on the client- Overrides:
setPipelining
in classHttpClientOptions
- Parameters:
pipelining
-true
if enabled- Returns:
- a reference to this, so the API can be used fluently
-
setPipeliningLimit
public WebClientOptions setPipeliningLimit(int limit)
Description copied from class:HttpClientOptions
Set the limit of pending requests a pipe-lined HTTP/1 connection can send.- Overrides:
setPipeliningLimit
in classHttpClientOptions
- Parameters:
limit
- the limit of pending requests- Returns:
- a reference to this, so the API can be used fluently
-
setVerifyHost
public WebClientOptions setVerifyHost(boolean verifyHost)
Description copied from class:HttpClientOptions
Set whether hostname verification is enabled- Overrides:
setVerifyHost
in classHttpClientOptions
- Parameters:
verifyHost
-true
if enabled- Returns:
- a reference to this, so the API can be used fluently
-
setDecompressionSupported
public WebClientOptions setDecompressionSupported(boolean tryUseCompression)
Description copied from class:HttpClientOptions
Whether the client should send requests with anaccepting-encoding
header set to a compression algorithm.- Overrides:
setDecompressionSupported
in classHttpClientOptions
- Parameters:
tryUseCompression
-true
if the client should send a request with anaccepting-encoding
header set to a compression algorithm,false
otherwise- Returns:
- a reference to this, so the API can be used fluently
-
setDefaultHost
public WebClientOptions setDefaultHost(String defaultHost)
Description copied from class:HttpClientOptions
Set the default host name to be used by this client in requests if none is provided when making the request.- Overrides:
setDefaultHost
in classHttpClientOptions
- Returns:
- a reference to this, so the API can be used fluently
-
setDefaultPort
public WebClientOptions setDefaultPort(int defaultPort)
Description copied from class:HttpClientOptions
Set the default port to be used by this client in requests if none is provided when making the request.- Overrides:
setDefaultPort
in classHttpClientOptions
- Returns:
- a reference to this, so the API can be used fluently
-
setMaxChunkSize
public WebClientOptions setMaxChunkSize(int maxChunkSize)
Description copied from class:HttpClientOptions
Set the maximum HTTP chunk size- Overrides:
setMaxChunkSize
in classHttpClientOptions
- Parameters:
maxChunkSize
- the maximum chunk size- Returns:
- a reference to this, so the API can be used fluently
-
setProtocolVersion
public WebClientOptions setProtocolVersion(HttpVersion protocolVersion)
Description copied from class:HttpClientOptions
Set the protocol version.- Overrides:
setProtocolVersion
in classHttpClientOptions
- Parameters:
protocolVersion
- the protocol version- Returns:
- a reference to this, so the API can be used fluently
-
setMaxHeaderSize
public WebClientOptions setMaxHeaderSize(int maxHeaderSize)
Description copied from class:HttpClientOptions
Set the maximum length of all headers for HTTP/1.x .- Overrides:
setMaxHeaderSize
in classHttpClientOptions
- Parameters:
maxHeaderSize
- the new maximum length- Returns:
- a reference to this, so the API can be used fluently
-
setUseAlpn
public WebClientOptions setUseAlpn(boolean useAlpn)
Description copied from class:TCPSSLOptions
Set the ALPN usage.- Overrides:
setUseAlpn
in classHttpClientOptions
- Parameters:
useAlpn
- true when Application-Layer Protocol Negotiation should be used
-
setSslEngineOptions
public WebClientOptions setSslEngineOptions(SSLEngineOptions sslEngineOptions)
Description copied from class:TCPSSLOptions
Set to use SSL engine implementation to use.- Overrides:
setSslEngineOptions
in classHttpClientOptions
- Parameters:
sslEngineOptions
- the ssl engine to use- Returns:
- a reference to this, so the API can be used fluently
-
setHttp2ClearTextUpgrade
public WebClientOptions setHttp2ClearTextUpgrade(boolean value)
Description copied from class:HttpClientOptions
Set totrue
when an h2c connection is established using an HTTP/1.1 upgrade request, andfalse
when an h2c connection is established directly (with prior knowledge).- Overrides:
setHttp2ClearTextUpgrade
in classHttpClientOptions
- Parameters:
value
- the upgrade value- Returns:
- a reference to this, so the API can be used fluently
-
setAlpnVersions
public WebClientOptions setAlpnVersions(List<HttpVersion> alpnVersions)
Description copied from class:HttpClientOptions
Set the list of protocol versions to provide to the server during the Application-Layer Protocol Negotiation. When the list is empty, the client provides a best effort list according toHttpClientOptions.setProtocolVersion(io.vertx.core.http.HttpVersion)
:HttpVersion.HTTP_2
: [ "h2", "http/1.1" ]- otherwise: [
HttpClientOptions.getProtocolVersion()
]
- Overrides:
setAlpnVersions
in classHttpClientOptions
- Parameters:
alpnVersions
- the versions- Returns:
- a reference to this, so the API can be used fluently
-
setMetricsName
public WebClientOptions setMetricsName(String metricsName)
Description copied from class:ClientOptionsBase
Set the metrics name identifying the reported metrics, useful for grouping metrics with the same name.- Overrides:
setMetricsName
in classHttpClientOptions
- Parameters:
metricsName
- the metrics name- Returns:
- a reference to this, so the API can be used fluently
-
setProxyOptions
public WebClientOptions setProxyOptions(ProxyOptions proxyOptions)
Description copied from class:ClientOptionsBase
Set proxy options for connections via CONNECT proxy (e.g. Squid) or a SOCKS proxy.- Overrides:
setProxyOptions
in classHttpClientOptions
- Parameters:
proxyOptions
- proxy options object- Returns:
- a reference to this, so the API can be used fluently
-
setLocalAddress
public WebClientOptions setLocalAddress(String localAddress)
Description copied from class:ClientOptionsBase
Set the local interface to bind for network connections. When the local address is null, it will pick any local address, the default local address is null.- Overrides:
setLocalAddress
in classHttpClientOptions
- Parameters:
localAddress
- the local address- Returns:
- a reference to this, so the API can be used fluently
-
setLogActivity
public WebClientOptions setLogActivity(boolean logEnabled)
Description copied from class:NetworkOptions
Set to true to enabled network activity logging: Netty's pipeline is configured for logging on Netty's logger.- Overrides:
setLogActivity
in classHttpClientOptions
- Parameters:
logEnabled
- true for logging the network activity- Returns:
- a reference to this, so the API can be used fluently
-
addEnabledSecureTransportProtocol
public WebClientOptions addEnabledSecureTransportProtocol(String protocol)
Description copied from class:TCPSSLOptions
Add an enabled SSL/TLS protocols, appended to the ordered protocols.- Overrides:
addEnabledSecureTransportProtocol
in classHttpClientOptions
- Parameters:
protocol
- the SSL/TLS protocol to enable- Returns:
- a reference to this, so the API can be used fluently
-
removeEnabledSecureTransportProtocol
public WebClientOptions removeEnabledSecureTransportProtocol(String protocol)
Description copied from class:TCPSSLOptions
Removes an enabled SSL/TLS protocol from the ordered protocols.- Overrides:
removeEnabledSecureTransportProtocol
in classHttpClientOptions
- Parameters:
protocol
- the SSL/TLS protocol to disable- Returns:
- a reference to this, so the API can be used fluently
-
setEnabledSecureTransportProtocols
public WebClientOptions setEnabledSecureTransportProtocols(Set<String> enabledSecureTransportProtocols)
Description copied from class:TCPSSLOptions
Sets the list of enabled SSL/TLS protocols.- Overrides:
setEnabledSecureTransportProtocols
in classHttpClientOptions
- Parameters:
enabledSecureTransportProtocols
- the SSL/TLS protocols to enable- Returns:
- a reference to this, so the API can be used fluently
-
setReusePort
public WebClientOptions setReusePort(boolean reusePort)
Description copied from class:NetworkOptions
Set the value of reuse port. This is only supported by native transports.- Overrides:
setReusePort
in classHttpClientOptions
- Parameters:
reusePort
- the value of reuse port- Returns:
- a reference to this, so the API can be used fluently
-
setTcpFastOpen
public WebClientOptions setTcpFastOpen(boolean tcpFastOpen)
Description copied from class:TCPSSLOptions
Enable theTCP_FASTOPEN
option - only with linux native transport.- Overrides:
setTcpFastOpen
in classHttpClientOptions
- Parameters:
tcpFastOpen
- the fast open value
-
setTcpCork
public WebClientOptions setTcpCork(boolean tcpCork)
Description copied from class:TCPSSLOptions
Enable theTCP_CORK
option - only with linux native transport.- Overrides:
setTcpCork
in classHttpClientOptions
- Parameters:
tcpCork
- the cork value
-
setTcpQuickAck
public WebClientOptions setTcpQuickAck(boolean tcpQuickAck)
Description copied from class:TCPSSLOptions
Enable theTCP_QUICKACK
option - only with linux native transport.- Overrides:
setTcpQuickAck
in classHttpClientOptions
- Parameters:
tcpQuickAck
- the quick ack value
-
setHttp2KeepAliveTimeout
public WebClientOptions setHttp2KeepAliveTimeout(int keepAliveTimeout)
Description copied from class:HttpClientOptions
Set the keep alive timeout for HTTP/2 connections, in seconds. This value determines how long a connection remains unused in the pool before being evicted and closed. A timeout of0
means there is no timeout.- Overrides:
setHttp2KeepAliveTimeout
in classHttpClientOptions
- Parameters:
keepAliveTimeout
- the timeout, in seconds- Returns:
- a reference to this, so the API can be used fluently
-
setForceSni
public WebClientOptions setForceSni(boolean forceSni)
Description copied from class:HttpClientOptions
By default, the server name is only sent for Fully Qualified Domain Name (FQDN), setting this property totrue
forces the server name to be always sent.- Overrides:
setForceSni
in classHttpClientOptions
- Parameters:
forceSni
-true
when the client should always use SNI on TLS/SSL connections- Returns:
- a reference to this, so the API can be used fluently
-
setDecoderInitialBufferSize
public WebClientOptions setDecoderInitialBufferSize(int decoderInitialBufferSize)
Description copied from class:HttpClientOptions
set toinitialBufferSizeHttpDecoder
the initial buffer of the HttpDecoder.- Overrides:
setDecoderInitialBufferSize
in classHttpClientOptions
- Parameters:
decoderInitialBufferSize
- the initial buffer size- Returns:
- a reference to this, so the API can be used fluently
-
setKeepAliveTimeout
public WebClientOptions setKeepAliveTimeout(int keepAliveTimeout)
Description copied from class:HttpClientOptions
Set the keep alive timeout for HTTP/1.x, in seconds. This value determines how long a connection remains unused in the pool before being evicted and closed. A timeout of0
means there is no timeout.- Overrides:
setKeepAliveTimeout
in classHttpClientOptions
- Parameters:
keepAliveTimeout
- the timeout, in seconds- Returns:
- a reference to this, so the API can be used fluently
-
setMaxInitialLineLength
public WebClientOptions setMaxInitialLineLength(int maxInitialLineLength)
Description copied from class:HttpClientOptions
Set the maximum length of the initial line for HTTP/1.x (e.g."HTTP/1.1 200 OK"
)- Overrides:
setMaxInitialLineLength
in classHttpClientOptions
- Parameters:
maxInitialLineLength
- the new maximum initial length- Returns:
- a reference to this, so the API can be used fluently
-
setInitialSettings
public WebClientOptions setInitialSettings(Http2Settings settings)
Description copied from class:HttpClientOptions
Set the HTTP/2 connection settings immediately sent by to the server when the client connects.- Overrides:
setInitialSettings
in classHttpClientOptions
- Parameters:
settings
- the settings value- Returns:
- a reference to this, so the API can be used fluently
-
setSslHandshakeTimeout
public WebClientOptions setSslHandshakeTimeout(long sslHandshakeTimeout)
Description copied from class:TCPSSLOptions
Set the SSL handshake timeout, default time unit is seconds.- Overrides:
setSslHandshakeTimeout
in classHttpClientOptions
- Parameters:
sslHandshakeTimeout
- the SSL handshake timeout to set, in milliseconds- Returns:
- a reference to this, so the API can be used fluently
-
setSslHandshakeTimeoutUnit
public WebClientOptions setSslHandshakeTimeoutUnit(TimeUnit sslHandshakeTimeoutUnit)
Description copied from class:TCPSSLOptions
Set the SSL handshake timeout unit. If not specified, default is seconds.- Overrides:
setSslHandshakeTimeoutUnit
in classHttpClientOptions
- Parameters:
sslHandshakeTimeoutUnit
- specify time unit.- Returns:
- a reference to this, so the API can be used fluently
-
setReadIdleTimeout
public WebClientOptions setReadIdleTimeout(int idleTimeout)
Description copied from class:TCPSSLOptions
Set the read idle timeout, default time unit is seconds. Zero means don't timeout. This determines if a connection will timeout and be closed if no data is received within the timeout. If you want change default time unit, useTCPSSLOptions.setIdleTimeoutUnit(TimeUnit)
- Overrides:
setReadIdleTimeout
in classHttpClientOptions
- Parameters:
idleTimeout
- the read timeout- Returns:
- a reference to this, so the API can be used fluently
-
setWriteIdleTimeout
public WebClientOptions setWriteIdleTimeout(int idleTimeout)
Description copied from class:TCPSSLOptions
Set the write idle timeout, default time unit is seconds. Zero means don't timeout. This determines if a connection will timeout and be closed if no data is sent within the timeout. If you want change default time unit, useTCPSSLOptions.setIdleTimeoutUnit(TimeUnit)
- Overrides:
setWriteIdleTimeout
in classHttpClientOptions
- Parameters:
idleTimeout
- the write timeout- Returns:
- a reference to this, so the API can be used fluently
-
setNonProxyHosts
public WebClientOptions setNonProxyHosts(List<String> nonProxyHosts)
Description copied from class:ClientOptionsBase
Set a list of remote hosts that are not proxied when the client is configured to use a proxy. This list serves the same purpose than the JVMnonProxyHosts
configuration.Entries can use the * wildcard character for pattern matching, e.g *.example.com matches www.example.com.
- Overrides:
setNonProxyHosts
in classHttpClientOptions
- Parameters:
nonProxyHosts
- the list of non proxies hosts- Returns:
- a reference to this, so the API can be used fluently
-
addNonProxyHost
public WebClientOptions addNonProxyHost(String nonProxyHost)
Description copied from class:ClientOptionsBase
Add ahost
to theClientOptionsBase.getNonProxyHosts()
list.- Overrides:
addNonProxyHost
in classHttpClientOptions
- Parameters:
nonProxyHost
- the added host- Returns:
- a reference to this, so the API can be used fluently
-
setTracingPolicy
public WebClientOptions setTracingPolicy(TracingPolicy tracingPolicy)
Description copied from class:HttpClientOptions
Set the tracing policy for the client behavior when Vert.x has tracing enabled.- Overrides:
setTracingPolicy
in classHttpClientOptions
- Parameters:
tracingPolicy
- the tracing policy- Returns:
- a reference to this, so the API can be used fluently
-
setShared
public WebClientOptions setShared(boolean shared)
Description copied from class:HttpClientOptions
Set totrue
to share the client.There can be multiple shared clients distinguished by
HttpClientOptions.getName()
, when no specific name is set, theHttpClientOptions.DEFAULT_NAME
is used.- Overrides:
setShared
in classHttpClientOptions
- Parameters:
shared
-true
to use a shared client- Returns:
- a reference to this, so the API can be used fluently
-
setName
public WebClientOptions setName(String name)
Description copied from class:HttpClientOptions
Set the client name, used when the client is shared, otherwise ignored.- Overrides:
setName
in classHttpClientOptions
- Parameters:
name
- the new name- Returns:
- a reference to this, so the API can be used fluently
-
loadUserAgent
public static String loadUserAgent()
-
-