Package io.vertx.core.http
Class RequestOptions
- java.lang.Object
-
- io.vertx.core.http.HttpConnectOptions
-
- io.vertx.core.http.RequestOptions
-
- Direct Known Subclasses:
WebSocketConnectOptions
public class RequestOptions extends HttpConnectOptions
Options describing how anHttpClient
will connect to make a request.- Author:
- Julien Viet
-
-
Field Summary
Fields Modifier and Type Field Description static long
DEFAULT_CONNECT_TIMEOUT
The default connect timeout =-1L
(disabled)static boolean
DEFAULT_FOLLOW_REDIRECTS
Follow redirection by default =false
static String
DEFAULT_HOST
The default value for host name =null
static HttpMethod
DEFAULT_HTTP_METHOD
The default value for HTTP method =HttpMethod.GET
static long
DEFAULT_IDLE_TIMEOUT
The default idle timeout =-1L
(disabled)static Integer
DEFAULT_PORT
The default value for port =null
static SocketAddress
DEFAULT_SERVER
The default value for server method =null
static Boolean
DEFAULT_SSL
The default value for SSL =null
static long
DEFAULT_TIMEOUT
The default request timeout =-1L
(disabled)static String
DEFAULT_URI
The default request URI ="/"
-
Fields inherited from class io.vertx.core.http.HttpConnectOptions
DEFAULT_PROXY_OPTIONS
-
-
Constructor Summary
Constructors Constructor Description RequestOptions()
Default constructorRequestOptions(RequestOptions other)
Copy constructorRequestOptions(JsonObject json)
Create options from JSON
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RequestOptions
addHeader(CharSequence key, CharSequence value)
Add a request header.RequestOptions
addHeader(CharSequence key, Iterable<CharSequence> values)
RequestOptions
addHeader(String key, String value)
Add a request header.Boolean
getFollowRedirects()
MultiMap
getHeaders()
Get the request headerslong
getIdleTimeout()
HttpMethod
getMethod()
Get the HTTP method to be used by the client request.String
getRoutingKey()
Return the routing key, the routing key can be used by a Vert.x client side sticky load balancer to pin the request to a remote HTTP server.long
getTimeout()
String
getTraceOperation()
String
getURI()
protected void
init()
RequestOptions
putHeader(CharSequence key, CharSequence value)
Set a request header.RequestOptions
putHeader(CharSequence key, Iterable<CharSequence> values)
RequestOptions
putHeader(String key, String value)
Set a request header.RequestOptions
removeHeader(CharSequence key)
Add a request header.RequestOptions
removeHeader(String key)
Add a request header.RequestOptions
setAbsoluteURI(String absoluteURI)
Parse an absolute URI to use, this will update thessl
,host
,port
anduri
fields.RequestOptions
setAbsoluteURI(URL url)
LikesetAbsoluteURI(String)
but using anURL
parameter.RequestOptions
setConnectTimeout(long timeout)
Sets the amount of time after which, if the request is not obtained from the client within the timeout period, theFuture<HttpClientRequest>
obtained from the client is failed with aTimeoutException
.RequestOptions
setFollowRedirects(Boolean followRedirects)
Set whether to follow HTTP redirectRequestOptions
setHeaders(MultiMap headers)
Set request headers from a multi-map.RequestOptions
setHost(String host)
Set the host name to be used by the client request.RequestOptions
setIdleTimeout(long timeout)
Sets the amount of time after which, if the request does not return any data within the timeout period, the request/response is closed and the related futures are failed with aTimeoutException
, e.g.RequestOptions
setMethod(HttpMethod method)
Set the HTTP method to be used by the client request.RequestOptions
setPort(Integer port)
Set the port to be used by the client request.RequestOptions
setProxyOptions(ProxyOptions proxyOptions)
Override theHttpClientOptions.setProxyOptions(ProxyOptions)
proxy options for connections.RequestOptions
setRoutingKey(String key)
Set the routing key, the routing key can be used by a Vert.x client side sticky load balancer to pin the request to a remote HTTP server.RequestOptions
setServer(Address server)
Set the server address to be used by the client request.RequestOptions
setSsl(Boolean ssl)
Set whether SSL/TLS is enabled.RequestOptions
setSslOptions(ClientSSLOptions sslOptions)
Set the SSL options to use.RequestOptions
setTimeout(long timeout)
Sets both connect and idle timeouts for the request connect timeout: if the request is not obtained from the client within the timeout period, theFuture<HttpClientRequest>
obtained from the client is failed with aTimeoutException
. idle timeout: if the request does not return any data within the timeout period, the request/response is closed and the related futures are failed with aTimeoutException
, e.g.RequestOptions
setTraceOperation(String op)
Override the operation the tracer use for this request.RequestOptions
setURI(String uri)
Set the request relative URI.JsonObject
toJson()
-
Methods inherited from class io.vertx.core.http.HttpConnectOptions
getConnectTimeout, getHost, getPort, getProxyOptions, getServer, getSslOptions, isSsl
-
-
-
-
Field Detail
-
DEFAULT_SERVER
public static final SocketAddress DEFAULT_SERVER
The default value for server method =null
-
DEFAULT_HTTP_METHOD
public static final HttpMethod DEFAULT_HTTP_METHOD
The default value for HTTP method =HttpMethod.GET
-
DEFAULT_HOST
public static final String DEFAULT_HOST
The default value for host name =null
-
DEFAULT_PORT
public static final Integer DEFAULT_PORT
The default value for port =null
-
DEFAULT_SSL
public static final Boolean DEFAULT_SSL
The default value for SSL =null
-
DEFAULT_URI
public static final String DEFAULT_URI
The default request URI ="/"
- See Also:
- Constant Field Values
-
DEFAULT_FOLLOW_REDIRECTS
public static final boolean DEFAULT_FOLLOW_REDIRECTS
Follow redirection by default =false
- See Also:
- Constant Field Values
-
DEFAULT_TIMEOUT
public static final long DEFAULT_TIMEOUT
The default request timeout =-1L
(disabled)- See Also:
- Constant Field Values
-
DEFAULT_CONNECT_TIMEOUT
public static final long DEFAULT_CONNECT_TIMEOUT
The default connect timeout =-1L
(disabled)- See Also:
- Constant Field Values
-
DEFAULT_IDLE_TIMEOUT
public static final long DEFAULT_IDLE_TIMEOUT
The default idle timeout =-1L
(disabled)- See Also:
- Constant Field Values
-
-
Constructor Detail
-
RequestOptions
public RequestOptions()
Default constructor
-
RequestOptions
public RequestOptions(RequestOptions other)
Copy constructor- Parameters:
other
- the options to copy
-
RequestOptions
public RequestOptions(JsonObject json)
Create options from JSON- Parameters:
json
- the JSON
-
-
Method Detail
-
init
protected void init()
- Overrides:
init
in classHttpConnectOptions
-
setProxyOptions
public RequestOptions setProxyOptions(ProxyOptions proxyOptions)
Description copied from class:HttpConnectOptions
Override theHttpClientOptions.setProxyOptions(ProxyOptions)
proxy options for connections.- Overrides:
setProxyOptions
in classHttpConnectOptions
- Parameters:
proxyOptions
- proxy options override object- Returns:
- a reference to this, so the API can be used fluently
-
setServer
public RequestOptions setServer(Address server)
Description copied from class:HttpConnectOptions
Set the server address to be used by the client request.When the server address is
null
, the address will be resolved after thehost
property by the Vert.x resolver.Use this when you want to connect to a specific server address without name resolution.
- Overrides:
setServer
in classHttpConnectOptions
- Returns:
- a reference to this, so the API can be used fluently
-
getMethod
public HttpMethod getMethod()
Get the HTTP method to be used by the client request.- Returns:
- the HTTP method
-
setMethod
public RequestOptions setMethod(HttpMethod method)
Set the HTTP method to be used by the client request.- Returns:
- a reference to this, so the API can be used fluently
-
setHost
public RequestOptions setHost(String host)
Description copied from class:HttpConnectOptions
Set the host name to be used by the client request.- Overrides:
setHost
in classHttpConnectOptions
- Returns:
- a reference to this, so the API can be used fluently
-
setPort
public RequestOptions setPort(Integer port)
Description copied from class:HttpConnectOptions
Set the port to be used by the client request.- Overrides:
setPort
in classHttpConnectOptions
- Returns:
- a reference to this, so the API can be used fluently
-
setSsl
public RequestOptions setSsl(Boolean ssl)
Description copied from class:HttpConnectOptions
Set whether SSL/TLS is enabled.- Overrides:
setSsl
in classHttpConnectOptions
- Parameters:
ssl
- true if enabled- Returns:
- a reference to this, so the API can be used fluently
-
setSslOptions
public RequestOptions setSslOptions(ClientSSLOptions sslOptions)
Description copied from class:HttpConnectOptions
Set the SSL options to use.When none is provided, the client SSL options will be used instead.
- Overrides:
setSslOptions
in classHttpConnectOptions
- Parameters:
sslOptions
- the SSL options to use- Returns:
- a reference to this, so the API can be used fluently
-
getURI
public String getURI()
- Returns:
- the request relative URI
-
setURI
public RequestOptions setURI(String uri)
Set the request relative URI.- Parameters:
uri
- the relative uri- Returns:
- a reference to this, so the API can be used fluently
-
getFollowRedirects
public Boolean getFollowRedirects()
- Returns:
true
when the client should follow redirection
-
setFollowRedirects
public RequestOptions setFollowRedirects(Boolean followRedirects)
Set whether to follow HTTP redirect- Parameters:
followRedirects
- whether to follow redirect- Returns:
- a reference to this, so the API can be used fluently
-
getTimeout
public long getTimeout()
- See Also:
setTimeout(long)
-
setTimeout
public RequestOptions setTimeout(long timeout)
Sets both connect and idle timeouts for the request- connect timeout: if the request is not obtained from the client within the timeout period, the
Future<HttpClientRequest>
obtained from the client is failed with aTimeoutException
. - idle timeout: if the request does not return any data within the timeout period, the request/response is closed and the
related futures are failed with a
TimeoutException
, e.g.Future<HttpClientResponse>
orFuture<Buffer>
response body.
setConnectTimeout(long)
andsetIdleTimeout(long)
- connect timeout: if the request is not obtained from the client within the timeout period, the
-
setConnectTimeout
public RequestOptions setConnectTimeout(long timeout)
Description copied from class:HttpConnectOptions
Sets the amount of time after which, if the request is not obtained from the client within the timeout period, theFuture<HttpClientRequest>
obtained from the client is failed with aTimeoutException
. Note this is not related to the TCPHttpClientOptions.setConnectTimeout(int)
option, when a request is made against a pooled HTTP client, the timeout applies to the duration to obtain a connection from the pool to serve the request, the timeout might fire because the server does not respond in time or the pool is too busy to serve a request.- Overrides:
setConnectTimeout
in classHttpConnectOptions
- Parameters:
timeout
- the amount of time in milliseconds.- Returns:
- a reference to this, so the API can be used fluently
-
getIdleTimeout
public long getIdleTimeout()
- Returns:
- the amount of time after which, if the request does not return any data within the timeout period,
the request/response is closed and the related futures are failed with a
TimeoutException
-
setIdleTimeout
public RequestOptions setIdleTimeout(long timeout)
Sets the amount of time after which, if the request does not return any data within the timeout period, the request/response is closed and the related futures are failed with aTimeoutException
, e.g.Future<HttpClientResponse>
orFuture<Buffer>
response body. The timeout starts after a connection is obtained from the client, similar to callingHttpClientRequest.idleTimeout(long)
.- Parameters:
timeout
- the amount of time in milliseconds.- Returns:
- a reference to this, so the API can be used fluently
-
setAbsoluteURI
public RequestOptions setAbsoluteURI(String absoluteURI)
Parse an absolute URI to use, this will update thessl
,host
,port
anduri
fields.- Parameters:
absoluteURI
- the uri to use- Returns:
- a reference to this, so the API can be used fluently
-
setAbsoluteURI
public RequestOptions setAbsoluteURI(URL url)
LikesetAbsoluteURI(String)
but using anURL
parameter.- Parameters:
url
- the uri to use- Returns:
- a reference to this, so the API can be used fluently
-
addHeader
public RequestOptions addHeader(String key, String value)
Add a request header.- Parameters:
key
- the header keyvalue
- the header value- Returns:
- a reference to this, so the API can be used fluently
-
addHeader
public RequestOptions addHeader(CharSequence key, CharSequence value)
Add a request header.- Parameters:
key
- the header keyvalue
- the header value- Returns:
- a reference to this, so the API can be used fluently
-
addHeader
public RequestOptions addHeader(CharSequence key, Iterable<CharSequence> values)
-
putHeader
public RequestOptions putHeader(String key, String value)
Set a request header.- Parameters:
key
- the header keyvalue
- the header value- Returns:
- a reference to this, so the API can be used fluently
-
putHeader
public RequestOptions putHeader(CharSequence key, CharSequence value)
Set a request header.- Parameters:
key
- the header keyvalue
- the header value- Returns:
- a reference to this, so the API can be used fluently
-
putHeader
public RequestOptions putHeader(CharSequence key, Iterable<CharSequence> values)
-
removeHeader
public RequestOptions removeHeader(String key)
Add a request header.- Parameters:
key
- the header key- Returns:
- a reference to this, so the API can be used fluently
-
removeHeader
public RequestOptions removeHeader(CharSequence key)
Add a request header.- Parameters:
key
- the header key- Returns:
- a reference to this, so the API can be used fluently
-
setHeaders
public RequestOptions setHeaders(MultiMap headers)
Set request headers from a multi-map.- Parameters:
headers
- the headers- Returns:
- a reference to this, so the API can be used fluently
-
getHeaders
public MultiMap getHeaders()
Get the request headers- Returns:
- the headers
-
getTraceOperation
public String getTraceOperation()
- Returns:
- the trace operation override
-
setTraceOperation
public RequestOptions setTraceOperation(String op)
Override the operation the tracer use for this request. When no operation is set, the HTTP method is used instead.- Parameters:
op
- the override- Returns:
- a reference to this, so the API can be used fluently
-
getRoutingKey
public String getRoutingKey()
Return the routing key, the routing key can be used by a Vert.x client side sticky load balancer to pin the request to a remote HTTP server.- Returns:
- the routing key
-
setRoutingKey
public RequestOptions setRoutingKey(String key)
Set the routing key, the routing key can be used by a Vert.x client side sticky load balancer to pin the request to a remote HTTP server.- Parameters:
key
- the routing key- Returns:
- a reference to this, so the API can be used fluently
-
toJson
public JsonObject toJson()
- Overrides:
toJson
in classHttpConnectOptions
-
-