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 ExpandOptionsDEFAULT_EXPAND_OPTIONSstatic booleanDEFAULT_FOLLOW_REDIRECTSThe default value of whether the Web Client should follow redirects = true.static StringDEFAULT_USER_AGENTThe default user agent string = Vert.x-WebClient/<version>.static booleanDEFAULT_USER_AGENT_ENABLEDThe 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_HTTP2_UPGRADE_MAX_CONTENT_LENGTH, 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 WebClientOptionsaddCrlPath(String crlPath)Add a CRL pathWebClientOptionsaddCrlValue(Buffer crlValue)Add a CRL valueWebClientOptionsaddEnabledCipherSuite(String suite)Add an enabled cipher suite, appended to the ordered suites.WebClientOptionsaddEnabledSecureTransportProtocol(String protocol)Add an enabled SSL/TLS protocols, appended to the ordered protocols.WebClientOptionsaddNonProxyHost(String nonProxyHost)Add ahostto theClientOptionsBase.getNonProxyHosts()list.ExpandOptionsgetTemplateExpandOptions()StringgetUserAgent()booleanisFollowRedirects()booleanisUserAgentEnabled()static StringloadUserAgent()WebClientOptionsremoveEnabledSecureTransportProtocol(String protocol)Removes an enabled SSL/TLS protocol from the ordered protocols.WebClientOptionssetAlpnVersions(List<HttpVersion> alpnVersions)Set the list of protocol versions to provide to the server during the Application-Layer Protocol Negotiation.WebClientOptionssetConnectTimeout(int connectTimeout)Set the connect timeoutWebClientOptionssetDecoderInitialBufferSize(int decoderInitialBufferSize)set toinitialBufferSizeHttpDecoderthe initial buffer of the HttpDecoder.WebClientOptionssetDecompressionSupported(boolean tryUseCompression)Whether the client should send requests with anaccepting-encodingheader set to a compression algorithm.WebClientOptionssetDefaultHost(String defaultHost)Set the default host name to be used by this client in requests if none is provided when making the request.WebClientOptionssetDefaultPort(int defaultPort)Set the default port to be used by this client in requests if none is provided when making the request.WebClientOptionssetEnabledSecureTransportProtocols(Set<String> enabledSecureTransportProtocols)Sets the list of enabled SSL/TLS protocols.WebClientOptionssetFollowRedirects(boolean followRedirects)Configure the default behavior of the client to follow HTTP30xredirections.WebClientOptionssetForceSni(boolean forceSni)By default, the server name is only sent for Fully Qualified Domain Name (FQDN), setting this property totrueforces the server name to be always sent.WebClientOptionssetHttp2ClearTextUpgrade(boolean value)Set totruewhen an h2c connection is established using an HTTP/1.1 upgrade request, andfalsewhen an h2c connection is established directly (with prior knowledge).WebClientOptionssetHttp2ConnectionWindowSize(int http2ConnectionWindowSize)Set the default HTTP/2 connection window size.WebClientOptionssetHttp2KeepAliveTimeout(int keepAliveTimeout)Set the keep alive timeout for HTTP/2 connections, in seconds.WebClientOptionssetHttp2MultiplexingLimit(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.WebClientOptionssetIdleTimeout(int idleTimeout)Set the idle timeout, default time unit is seconds.WebClientOptionssetIdleTimeoutUnit(TimeUnit idleTimeoutUnit)Set the idle timeout unit.WebClientOptionssetInitialSettings(Http2Settings settings)Set the HTTP/2 connection settings immediately sent by to the server when the client connects.WebClientOptionssetKeepAlive(boolean keepAlive)Set whether keep alive is enabled on the clientWebClientOptionssetKeepAliveTimeout(int keepAliveTimeout)Set the keep alive timeout for HTTP/1.x, in seconds.WebClientOptionssetKeyCertOptions(KeyCertOptions options)Set the key/cert options.WebClientOptionssetLocalAddress(String localAddress)Set the local interface to bind for network connections.WebClientOptionssetLogActivity(boolean logEnabled)Set to true to enabled network activity logging: Netty's pipeline is configured for logging on Netty's logger.WebClientOptionssetMaxChunkSize(int maxChunkSize)Set the maximum HTTP chunk sizeWebClientOptionssetMaxHeaderSize(int maxHeaderSize)Set the maximum length of all headers for HTTP/1.x .WebClientOptionssetMaxInitialLineLength(int maxInitialLineLength)Set the maximum length of the initial line for HTTP/1.x (e.g.WebClientOptionssetMaxRedirects(int maxRedirects)Set tomaxRedirectsthe maximum number of redirection a request can follow.WebClientOptionssetMetricsName(String metricsName)Set the metrics name identifying the reported metrics, useful for grouping metrics with the same name.WebClientOptionssetName(String name)Set the client name, used when the client is shared, otherwise ignored.WebClientOptionssetNonProxyHosts(List<String> nonProxyHosts)Set a list of remote hosts that are not proxied when the client is configured to use a proxy.WebClientOptionssetPipelining(boolean pipelining)Set whether pipe-lining is enabled on the clientWebClientOptionssetPipeliningLimit(int limit)Set the limit of pending requests a pipe-lined HTTP/1 connection can send.WebClientOptionssetProtocolVersion(HttpVersion protocolVersion)Set the protocol version.WebClientOptionssetProxyOptions(ProxyOptions proxyOptions)Set proxy options for connections via CONNECT proxy (e.g.WebClientOptionssetReadIdleTimeout(int idleTimeout)Set the read idle timeout, default time unit is seconds.WebClientOptionssetReceiveBufferSize(int receiveBufferSize)Set the TCP receive buffer sizeWebClientOptionssetReuseAddress(boolean reuseAddress)Set the value of reuse addressWebClientOptionssetReusePort(boolean reusePort)Set the value of reuse port.WebClientOptionssetSendBufferSize(int sendBufferSize)Set the TCP send buffer sizeWebClientOptionssetShared(boolean shared)Set totrueto share the client.WebClientOptionssetSoLinger(int soLinger)Set whether SO_linger keep alive is enabledWebClientOptionssetSsl(boolean ssl)Set whether SSL/TLS is enabledWebClientOptionssetSslEngineOptions(SSLEngineOptions sslEngineOptions)Set to use SSL engine implementation to use.WebClientOptionssetSslHandshakeTimeout(long sslHandshakeTimeout)Set the SSL handshake timeout, default time unit is seconds.WebClientOptionssetSslHandshakeTimeoutUnit(TimeUnit sslHandshakeTimeoutUnit)Set the SSL handshake timeout unit.WebClientOptionssetTcpCork(boolean tcpCork)Enable theTCP_CORKoption - only with linux native transport.WebClientOptionssetTcpFastOpen(boolean tcpFastOpen)Enable theTCP_FASTOPENoption - only with linux native transport.WebClientOptionssetTcpKeepAlive(boolean tcpKeepAlive)Set whether TCP keep alive is enabledWebClientOptionssetTcpNoDelay(boolean tcpNoDelay)Set whether TCP no delay is enabledWebClientOptionssetTcpQuickAck(boolean tcpQuickAck)Enable theTCP_QUICKACKoption - only with linux native transport.WebClientOptionssetTemplateExpandOptions(ExpandOptions templateExpandOptions)WebClientOptionssetTracingPolicy(TracingPolicy tracingPolicy)Set the tracing policy for the client behavior when Vert.x has tracing enabled.WebClientOptionssetTrafficClass(int trafficClass)Set the value of traffic classWebClientOptionssetTrustAll(boolean trustAll)Set whether all server certificates should be trustedWebClientOptionssetTrustOptions(TrustOptions options)Set the trust options.WebClientOptionssetUseAlpn(boolean useAlpn)Set the ALPN usage.WebClientOptionssetUserAgent(String userAgent)Sets the Web Client user agent header.WebClientOptionssetUserAgentEnabled(boolean userAgentEnabled)Sets whether the Web Client should send a user agent header.WebClientOptionssetVerifyHost(boolean verifyHost)Set whether hostname verification is enabledWebClientOptionssetWriteIdleTimeout(int idleTimeout)Set the write idle timeout, default time unit is seconds.JsonObjecttoJson()Convert to JSON-
Methods inherited from class io.vertx.core.http.HttpClientOptions
getAlpnVersions, getDecoderInitialBufferSize, getDefaultHost, getDefaultPort, getHttp2ConnectionWindowSize, getHttp2KeepAliveTimeout, getHttp2MultiplexingLimit, getHttp2UpgradeMaxContentLength, getInitialSettings, getKeepAliveTimeout, getMaxChunkSize, getMaxHeaderSize, getMaxInitialLineLength, getMaxRedirects, getName, getPipeliningLimit, getProtocolVersion, getTracingPolicy, isDecompressionSupported, isForceSni, isHttp2ClearTextUpgrade, isHttp2ClearTextUpgradeWithPreflightRequest, isKeepAlive, isPipelining, isShared, isVerifyHost, removeEnabledCipherSuite, setActivityLogDataFormat, setHttp2ClearTextUpgradeWithPreflightRequest, setHttp2UpgradeMaxContentLength, 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:
toJsonin 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
30xredirections
-
setFollowRedirects
public WebClientOptions setFollowRedirects(boolean followRedirects)
Configure the default behavior of the client to follow HTTP30xredirections.- 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:HttpClientOptionsSet tomaxRedirectsthe maximum number of redirection a request can follow.- Overrides:
setMaxRedirectsin 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:NetworkOptionsSet the TCP send buffer size- Overrides:
setSendBufferSizein 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:NetworkOptionsSet the TCP receive buffer size- Overrides:
setReceiveBufferSizein 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:NetworkOptionsSet the value of reuse address- Overrides:
setReuseAddressin 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:NetworkOptionsSet the value of traffic class- Overrides:
setTrafficClassin 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:TCPSSLOptionsSet whether TCP no delay is enabled- Overrides:
setTcpNoDelayin 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:TCPSSLOptionsSet whether TCP keep alive is enabled- Overrides:
setTcpKeepAlivein 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:TCPSSLOptionsSet whether SO_linger keep alive is enabled- Overrides:
setSoLingerin 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:TCPSSLOptionsSet 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:
setIdleTimeoutin 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:TCPSSLOptionsSet the idle timeout unit. If not specified, default is seconds.- Overrides:
setIdleTimeoutUnitin 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:TCPSSLOptionsSet whether SSL/TLS is enabled- Overrides:
setSslin 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:TCPSSLOptionsSet the key/cert options.- Overrides:
setKeyCertOptionsin 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:TCPSSLOptionsSet the trust options.- Overrides:
setTrustOptionsin 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:TCPSSLOptionsAdd an enabled cipher suite, appended to the ordered suites.- Overrides:
addEnabledCipherSuitein 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:TCPSSLOptionsAdd a CRL path- Overrides:
addCrlPathin 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:TCPSSLOptionsAdd a CRL value- Overrides:
addCrlValuein 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:ClientOptionsBaseSet the connect timeout- Overrides:
setConnectTimeoutin 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:ClientOptionsBaseSet whether all server certificates should be trusted- Overrides:
setTrustAllin 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:HttpClientOptionsSet 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-1means to use the value sent by the server's initial settings.-1is the default value.- Overrides:
setHttp2MultiplexingLimitin 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:HttpClientOptionsSet 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-1reuses the initial window size setting.- Overrides:
setHttp2ConnectionWindowSizein 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:HttpClientOptionsSet whether keep alive is enabled on the client- Overrides:
setKeepAlivein classHttpClientOptions- Parameters:
keepAlive-trueif enabled- Returns:
- a reference to this, so the API can be used fluently
-
setPipelining
public WebClientOptions setPipelining(boolean pipelining)
Description copied from class:HttpClientOptionsSet whether pipe-lining is enabled on the client- Overrides:
setPipeliningin classHttpClientOptions- Parameters:
pipelining-trueif enabled- Returns:
- a reference to this, so the API can be used fluently
-
setPipeliningLimit
public WebClientOptions setPipeliningLimit(int limit)
Description copied from class:HttpClientOptionsSet the limit of pending requests a pipe-lined HTTP/1 connection can send.- Overrides:
setPipeliningLimitin 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:HttpClientOptionsSet whether hostname verification is enabled- Overrides:
setVerifyHostin classHttpClientOptions- Parameters:
verifyHost-trueif enabled- Returns:
- a reference to this, so the API can be used fluently
-
setDecompressionSupported
public WebClientOptions setDecompressionSupported(boolean tryUseCompression)
Description copied from class:HttpClientOptionsWhether the client should send requests with anaccepting-encodingheader set to a compression algorithm.- Overrides:
setDecompressionSupportedin classHttpClientOptions- Parameters:
tryUseCompression-trueif the client should send a request with anaccepting-encodingheader set to a compression algorithm,falseotherwise- Returns:
- a reference to this, so the API can be used fluently
-
setDefaultHost
public WebClientOptions setDefaultHost(String defaultHost)
Description copied from class:HttpClientOptionsSet the default host name to be used by this client in requests if none is provided when making the request.- Overrides:
setDefaultHostin classHttpClientOptions- Returns:
- a reference to this, so the API can be used fluently
-
setDefaultPort
public WebClientOptions setDefaultPort(int defaultPort)
Description copied from class:HttpClientOptionsSet the default port to be used by this client in requests if none is provided when making the request.- Overrides:
setDefaultPortin classHttpClientOptions- Returns:
- a reference to this, so the API can be used fluently
-
setMaxChunkSize
public WebClientOptions setMaxChunkSize(int maxChunkSize)
Description copied from class:HttpClientOptionsSet the maximum HTTP chunk size- Overrides:
setMaxChunkSizein 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:HttpClientOptionsSet the protocol version.- Overrides:
setProtocolVersionin 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:HttpClientOptionsSet the maximum length of all headers for HTTP/1.x .- Overrides:
setMaxHeaderSizein 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:TCPSSLOptionsSet the ALPN usage.- Overrides:
setUseAlpnin classHttpClientOptions- Parameters:
useAlpn- true when Application-Layer Protocol Negotiation should be used
-
setSslEngineOptions
public WebClientOptions setSslEngineOptions(SSLEngineOptions sslEngineOptions)
Description copied from class:TCPSSLOptionsSet to use SSL engine implementation to use.- Overrides:
setSslEngineOptionsin 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:HttpClientOptionsSet totruewhen an h2c connection is established using an HTTP/1.1 upgrade request, andfalsewhen an h2c connection is established directly (with prior knowledge).- Overrides:
setHttp2ClearTextUpgradein 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:HttpClientOptionsSet 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:
setAlpnVersionsin 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:ClientOptionsBaseSet the metrics name identifying the reported metrics, useful for grouping metrics with the same name.- Overrides:
setMetricsNamein 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:ClientOptionsBaseSet proxy options for connections via CONNECT proxy (e.g. Squid) or a SOCKS proxy.- Overrides:
setProxyOptionsin 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:ClientOptionsBaseSet 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:
setLocalAddressin 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:NetworkOptionsSet to true to enabled network activity logging: Netty's pipeline is configured for logging on Netty's logger.- Overrides:
setLogActivityin 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:TCPSSLOptionsAdd an enabled SSL/TLS protocols, appended to the ordered protocols.- Overrides:
addEnabledSecureTransportProtocolin 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:TCPSSLOptionsRemoves an enabled SSL/TLS protocol from the ordered protocols.- Overrides:
removeEnabledSecureTransportProtocolin 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:TCPSSLOptionsSets the list of enabled SSL/TLS protocols.- Overrides:
setEnabledSecureTransportProtocolsin 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:NetworkOptionsSet the value of reuse port. This is only supported by native transports.- Overrides:
setReusePortin 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:TCPSSLOptionsEnable theTCP_FASTOPENoption - only with linux native transport.- Overrides:
setTcpFastOpenin classHttpClientOptions- Parameters:
tcpFastOpen- the fast open value
-
setTcpCork
public WebClientOptions setTcpCork(boolean tcpCork)
Description copied from class:TCPSSLOptionsEnable theTCP_CORKoption - only with linux native transport.- Overrides:
setTcpCorkin classHttpClientOptions- Parameters:
tcpCork- the cork value
-
setTcpQuickAck
public WebClientOptions setTcpQuickAck(boolean tcpQuickAck)
Description copied from class:TCPSSLOptionsEnable theTCP_QUICKACKoption - only with linux native transport.- Overrides:
setTcpQuickAckin classHttpClientOptions- Parameters:
tcpQuickAck- the quick ack value
-
setHttp2KeepAliveTimeout
public WebClientOptions setHttp2KeepAliveTimeout(int keepAliveTimeout)
Description copied from class:HttpClientOptionsSet 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 of0means there is no timeout.- Overrides:
setHttp2KeepAliveTimeoutin 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:HttpClientOptionsBy default, the server name is only sent for Fully Qualified Domain Name (FQDN), setting this property totrueforces the server name to be always sent.- Overrides:
setForceSniin classHttpClientOptions- Parameters:
forceSni-truewhen 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:HttpClientOptionsset toinitialBufferSizeHttpDecoderthe initial buffer of the HttpDecoder.- Overrides:
setDecoderInitialBufferSizein 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:HttpClientOptionsSet 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 of0means there is no timeout.- Overrides:
setKeepAliveTimeoutin 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:HttpClientOptionsSet the maximum length of the initial line for HTTP/1.x (e.g."HTTP/1.1 200 OK")- Overrides:
setMaxInitialLineLengthin 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:HttpClientOptionsSet the HTTP/2 connection settings immediately sent by to the server when the client connects.- Overrides:
setInitialSettingsin 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:TCPSSLOptionsSet the SSL handshake timeout, default time unit is seconds.- Overrides:
setSslHandshakeTimeoutin 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:TCPSSLOptionsSet the SSL handshake timeout unit. If not specified, default is seconds.- Overrides:
setSslHandshakeTimeoutUnitin 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:TCPSSLOptionsSet 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:
setReadIdleTimeoutin 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:TCPSSLOptionsSet 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:
setWriteIdleTimeoutin 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:ClientOptionsBaseSet 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 JVMnonProxyHostsconfiguration.Entries can use the * wildcard character for pattern matching, e.g *.example.com matches www.example.com.
- Overrides:
setNonProxyHostsin 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:ClientOptionsBaseAdd ahostto theClientOptionsBase.getNonProxyHosts()list.- Overrides:
addNonProxyHostin 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:HttpClientOptionsSet the tracing policy for the client behavior when Vert.x has tracing enabled.- Overrides:
setTracingPolicyin 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:HttpClientOptionsSet totrueto share the client.There can be multiple shared clients distinguished by
HttpClientOptions.getName(), when no specific name is set, theHttpClientOptions.DEFAULT_NAMEis used.- Overrides:
setSharedin classHttpClientOptions- Parameters:
shared-trueto 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:HttpClientOptionsSet the client name, used when the client is shared, otherwise ignored.- Overrides:
setNamein classHttpClientOptions- Parameters:
name- the new name- Returns:
- a reference to this, so the API can be used fluently
-
loadUserAgent
public static String loadUserAgent()
-
-