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 anHttpClientwill connect to make a request.- Author:
- Julien Viet
-
-
Field Summary
Fields Modifier and Type Field Description static longDEFAULT_CONNECT_TIMEOUTThe default connect timeout =-1L(disabled)static booleanDEFAULT_FOLLOW_REDIRECTSFollow redirection by default =falsestatic StringDEFAULT_HOSTThe default value for host name =nullstatic HttpMethodDEFAULT_HTTP_METHODThe default value for HTTP method =HttpMethod.GETstatic longDEFAULT_IDLE_TIMEOUTThe default idle timeout =-1L(disabled)static IntegerDEFAULT_PORTThe default value for port =nullstatic SocketAddressDEFAULT_SERVERThe default value for server method =nullstatic BooleanDEFAULT_SSLThe default value for SSL =nullstatic longDEFAULT_TIMEOUTThe default request timeout =-1L(disabled)static StringDEFAULT_URIThe 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 RequestOptionsaddHeader(CharSequence key, CharSequence value)Add a request header.RequestOptionsaddHeader(CharSequence key, Iterable<CharSequence> values)RequestOptionsaddHeader(String key, String value)Add a request header.BooleangetFollowRedirects()MultiMapgetHeaders()Get the request headerslonggetIdleTimeout()HttpMethodgetMethod()Get the HTTP method to be used by the client request.StringgetRoutingKey()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.longgetTimeout()StringgetTraceOperation()StringgetURI()protected voidinit()RequestOptionsputHeader(CharSequence key, CharSequence value)Set a request header.RequestOptionsputHeader(CharSequence key, Iterable<CharSequence> values)RequestOptionsputHeader(String key, String value)Set a request header.RequestOptionsremoveHeader(CharSequence key)Add a request header.RequestOptionsremoveHeader(String key)Add a request header.RequestOptionssetAbsoluteURI(String absoluteURI)Parse an absolute URI to use, this will update thessl,host,portandurifields.RequestOptionssetAbsoluteURI(URL url)LikesetAbsoluteURI(String)but using anURLparameter.RequestOptionssetConnectTimeout(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.RequestOptionssetFollowRedirects(Boolean followRedirects)Set whether to follow HTTP redirectRequestOptionssetHeaders(MultiMap headers)Set request headers from a multi-map.RequestOptionssetHost(String host)Set the host name to be used by the client request.RequestOptionssetIdleTimeout(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.RequestOptionssetMethod(HttpMethod method)Set the HTTP method to be used by the client request.RequestOptionssetPort(Integer port)Set the port to be used by the client request.RequestOptionssetProxyOptions(ProxyOptions proxyOptions)Override theHttpClientOptions.setProxyOptions(ProxyOptions)proxy options for connections.RequestOptionssetRoutingKey(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.RequestOptionssetServer(Address server)Set the server address to be used by the client request.RequestOptionssetSsl(Boolean ssl)Set whether SSL/TLS is enabled.RequestOptionssetSslOptions(ClientSSLOptions sslOptions)Set the SSL options to use.RequestOptionssetTimeout(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.RequestOptionssetTraceOperation(String op)Override the operation the tracer use for this request.RequestOptionssetURI(String uri)Set the request relative URI.JsonObjecttoJson()-
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:
initin classHttpConnectOptions
-
setProxyOptions
public RequestOptions setProxyOptions(ProxyOptions proxyOptions)
Description copied from class:HttpConnectOptionsOverride theHttpClientOptions.setProxyOptions(ProxyOptions)proxy options for connections.- Overrides:
setProxyOptionsin 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:HttpConnectOptionsSet the server address to be used by the client request.When the server address is
null, the address will be resolved after thehostproperty by the Vert.x resolver.Use this when you want to connect to a specific server address without name resolution.
- Overrides:
setServerin 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:HttpConnectOptionsSet the host name to be used by the client request.- Overrides:
setHostin classHttpConnectOptions- Returns:
- a reference to this, so the API can be used fluently
-
setPort
public RequestOptions setPort(Integer port)
Description copied from class:HttpConnectOptionsSet the port to be used by the client request.- Overrides:
setPortin classHttpConnectOptions- Returns:
- a reference to this, so the API can be used fluently
-
setSsl
public RequestOptions setSsl(Boolean ssl)
Description copied from class:HttpConnectOptionsSet whether SSL/TLS is enabled.- Overrides:
setSslin 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:HttpConnectOptionsSet the SSL options to use.When none is provided, the client SSL options will be used instead.
- Overrides:
setSslOptionsin 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:
truewhen 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:HttpConnectOptionsSets 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:
setConnectTimeoutin 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,portandurifields.- 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 anURLparameter.- 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:
toJsonin classHttpConnectOptions
-
-