public class DefaultHttpClient extends java.lang.Object implements HttpClient
Constructor and Description |
---|
DefaultHttpClient(VertxInternal vertx) |
Modifier and Type | Method and Description |
---|---|
void |
close()
Close the HTTP client.
|
HttpClientRequest |
connect(java.lang.String uri,
Handler<HttpClientResponse> responseHandler)
This method returns an
HttpClientRequest instance which represents an HTTP CONNECT request with the specified uri . |
void |
connectWebsocket(java.lang.String uri,
Handler<WebSocket> wsConnect)
Attempt to connect an HTML5 websocket to the specified URI
|
void |
connectWebsocket(java.lang.String uri,
WebSocketVersion wsVersion,
Handler<WebSocket> wsConnect)
Attempt to connect an HTML5 websocket to the specified URI
|
HttpClientRequest |
delete(java.lang.String uri,
Handler<HttpClientResponse> responseHandler)
This method returns an
HttpClientRequest instance which represents an HTTP DELETE request with the specified uri . |
void |
exceptionHandler(Handler<java.lang.Exception> handler)
Set an exception handler
|
HttpClientRequest |
get(java.lang.String uri,
Handler<HttpClientResponse> responseHandler)
This method returns an
HttpClientRequest instance which represents an HTTP GET request with the specified uri . |
java.lang.Integer |
getBossThreads() |
java.lang.Long |
getConnectTimeout() |
java.lang.String |
getKeyStorePassword() |
java.lang.String |
getKeyStorePath() |
int |
getMaxPoolSize()
Returns the maximum number of connections in the pool
|
void |
getNow(java.lang.String uri,
Handler<HttpClientResponse> responseHandler)
This is a quick version of the
HttpClient.get(String, org.vertx.java.core.Handler)
method where you do not want to do anything with the request before sending. |
void |
getNow(java.lang.String uri,
java.util.Map<java.lang.String,? extends java.lang.Object> headers,
Handler<HttpClientResponse> responseHandler)
This method works in the same manner as
HttpClient.getNow(String, org.vertx.java.core.Handler) ,
except that it allows you specify a set of headers that will be sent with the request. |
java.lang.Integer |
getReceiveBufferSize() |
java.lang.Integer |
getSendBufferSize() |
java.lang.Integer |
getTrafficClass() |
java.lang.String |
getTrustStorePassword() |
java.lang.String |
getTrustStorePath() |
HttpClientRequest |
head(java.lang.String uri,
Handler<HttpClientResponse> responseHandler)
This method returns an
HttpClientRequest instance which represents an HTTP HEAD request with the specified uri . |
java.lang.Boolean |
isReuseAddress() |
java.lang.Boolean |
isSoLinger() |
boolean |
isSSL() |
java.lang.Boolean |
isTCPKeepAlive() |
java.lang.Boolean |
isTCPNoDelay() |
boolean |
isTrustAll() |
HttpClientRequest |
options(java.lang.String uri,
Handler<HttpClientResponse> responseHandler)
This method returns an
HttpClientRequest instance which represents an HTTP OPTIONS request with the specified uri . |
HttpClientRequest |
patch(java.lang.String uri,
Handler<HttpClientResponse> responseHandler)
This method returns an
HttpClientRequest instance which represents an HTTP PATCH request with the specified uri . |
HttpClientRequest |
post(java.lang.String uri,
Handler<HttpClientResponse> responseHandler)
This method returns an
HttpClientRequest instance which represents an HTTP POST request with the specified uri . |
HttpClientRequest |
put(java.lang.String uri,
Handler<HttpClientResponse> responseHandler)
This method returns an
HttpClientRequest instance which represents an HTTP PUT request with the specified uri . |
HttpClientRequest |
request(java.lang.String method,
java.lang.String uri,
Handler<HttpClientResponse> responseHandler)
This method returns an
HttpClientRequest instance which represents an HTTP request with the specified uri . |
DefaultHttpClient |
setBossThreads(int threads)
Set the number of boss threads to use.
|
DefaultHttpClient |
setConnectTimeout(long timeout)
Set the connect timeout in milliseconds.
|
DefaultHttpClient |
setHost(java.lang.String host)
Set the host that the client will attempt to connect to the server on to
host . |
DefaultHttpClient |
setKeepAlive(boolean keepAlive)
If
keepAlive is true then, after the request has ended the connection will be returned to the pool
where it can be used by another request. |
DefaultHttpClient |
setKeyStorePassword(java.lang.String pwd)
Set the password for the SSL key store.
|
DefaultHttpClient |
setKeyStorePath(java.lang.String path)
Set the path to the SSL key store.
|
DefaultHttpClient |
setMaxPoolSize(int maxConnections)
Set the maximum pool size
|
DefaultHttpClient |
setPort(int port)
Set the port that the client will attempt to connect to the server on to
port . |
DefaultHttpClient |
setReceiveBufferSize(int size)
Set the TCP receive buffer size for connections created by this instance to
size in bytes. |
DefaultHttpClient |
setReuseAddress(boolean reuse)
Set the TCP reuseAddress setting for connections created by this instance to
reuse . |
DefaultHttpClient |
setSendBufferSize(int size)
Set the TCP send buffer size for connections created by this instance to
size in bytes. |
DefaultHttpClient |
setSoLinger(boolean linger)
Set the TCP soLinger setting for connections created by this instance to
linger . |
DefaultHttpClient |
setSSL(boolean ssl)
If
ssl is true , this signifies that any connections will be SSL connections. |
DefaultHttpClient |
setTCPKeepAlive(boolean keepAlive)
Set the TCP keepAlive setting for connections created by this instance to
keepAlive . |
DefaultHttpClient |
setTCPNoDelay(boolean tcpNoDelay)
If
tcpNoDelay is set to true then Nagle's algorithm
will turned off for the TCP connections created by this instance. |
DefaultHttpClient |
setTrafficClass(int trafficClass)
Set the TCP trafficClass setting for connections created by this instance to
trafficClass . |
DefaultHttpClient |
setTrustAll(boolean trustAll)
If you want an SSL client to trust *all* server certificates rather than match them
against those in its trust store, you can set this to true.
|
DefaultHttpClient |
setTrustStorePassword(java.lang.String pwd)
Set the password for the SSL trust store.
|
DefaultHttpClient |
setTrustStorePath(java.lang.String path)
Set the path to the SSL trust store.
|
HttpClientRequest |
trace(java.lang.String uri,
Handler<HttpClientResponse> responseHandler)
This method returns an
HttpClientRequest instance which represents an HTTP TRACE request with the specified uri . |
public DefaultHttpClient(VertxInternal vertx)
public void exceptionHandler(Handler<java.lang.Exception> handler)
HttpClient
exceptionHandler
in interface HttpClient
public DefaultHttpClient setMaxPoolSize(int maxConnections)
HttpClient
The client will maintain up to maxConnections
HTTP connections in an internal pool
setMaxPoolSize
in interface HttpClient
public int getMaxPoolSize()
HttpClient
getMaxPoolSize
in interface HttpClient
public DefaultHttpClient setKeepAlive(boolean keepAlive)
HttpClient
keepAlive
is true
then, after the request has ended the connection will be returned to the pool
where it can be used by another request. In this manner, many HTTP requests can be pipe-lined over an HTTP connection.
Keep alive connections will not be closed until the close()
method is invoked.
If keepAlive
is false
then a new connection will be created for each request and it won't ever go in the pool,
the connection will closed after the response has been received. Even with no keep alive,
the client will not allow more than HttpClient.getMaxPoolSize()
connections to be created at any one time.
setKeepAlive
in interface HttpClient
public DefaultHttpClient setPort(int port)
HttpClient
port
. The default value is
80
setPort
in interface HttpClient
public DefaultHttpClient setHost(java.lang.String host)
HttpClient
host
. The default value is
localhost
setHost
in interface HttpClient
public void connectWebsocket(java.lang.String uri, Handler<WebSocket> wsConnect)
HttpClient
The connect is done asynchronously and wsConnect
is called back with the websocket
connectWebsocket
in interface HttpClient
public void connectWebsocket(java.lang.String uri, WebSocketVersion wsVersion, Handler<WebSocket> wsConnect)
HttpClient
This version of the method allows you to specify the websockets version using the wsVersion parameter
The connect is done asynchronously and wsConnect
is called back with the websocket
connectWebsocket
in interface HttpClient
public void getNow(java.lang.String uri, Handler<HttpClientResponse> responseHandler)
HttpClient
HttpClient.get(String, org.vertx.java.core.Handler)
method where you do not want to do anything with the request before sending.
Normally with any of the HTTP methods you create the request then when you are ready to send it you call
HttpClientRequest.end()
on it. With this method the request is immediately sent.
When an HTTP response is received from the server the responseHandler
is called passing in the response.
getNow
in interface HttpClient
public void getNow(java.lang.String uri, java.util.Map<java.lang.String,? extends java.lang.Object> headers, Handler<HttpClientResponse> responseHandler)
HttpClient
HttpClient.getNow(String, org.vertx.java.core.Handler)
,
except that it allows you specify a set of headers
that will be sent with the request.getNow
in interface HttpClient
public HttpClientRequest options(java.lang.String uri, Handler<HttpClientResponse> responseHandler)
HttpClient
HttpClientRequest
instance which represents an HTTP OPTIONS request with the specified uri
.
When an HTTP response is received from the server the responseHandler
is called passing in the response.
options
in interface HttpClient
public HttpClientRequest get(java.lang.String uri, Handler<HttpClientResponse> responseHandler)
HttpClient
HttpClientRequest
instance which represents an HTTP GET request with the specified uri
.
When an HTTP response is received from the server the responseHandler
is called passing in the response.
get
in interface HttpClient
public HttpClientRequest head(java.lang.String uri, Handler<HttpClientResponse> responseHandler)
HttpClient
HttpClientRequest
instance which represents an HTTP HEAD request with the specified uri
.
When an HTTP response is received from the server the responseHandler
is called passing in the response.
head
in interface HttpClient
public HttpClientRequest post(java.lang.String uri, Handler<HttpClientResponse> responseHandler)
HttpClient
HttpClientRequest
instance which represents an HTTP POST request with the specified uri
.
When an HTTP response is received from the server the responseHandler
is called passing in the response.
post
in interface HttpClient
public HttpClientRequest put(java.lang.String uri, Handler<HttpClientResponse> responseHandler)
HttpClient
HttpClientRequest
instance which represents an HTTP PUT request with the specified uri
.
When an HTTP response is received from the server the responseHandler
is called passing in the response.
put
in interface HttpClient
public HttpClientRequest delete(java.lang.String uri, Handler<HttpClientResponse> responseHandler)
HttpClient
HttpClientRequest
instance which represents an HTTP DELETE request with the specified uri
.
When an HTTP response is received from the server the responseHandler
is called passing in the response.
delete
in interface HttpClient
public HttpClientRequest trace(java.lang.String uri, Handler<HttpClientResponse> responseHandler)
HttpClient
HttpClientRequest
instance which represents an HTTP TRACE request with the specified uri
.
When an HTTP response is received from the server the responseHandler
is called passing in the response.
trace
in interface HttpClient
public HttpClientRequest connect(java.lang.String uri, Handler<HttpClientResponse> responseHandler)
HttpClient
HttpClientRequest
instance which represents an HTTP CONNECT request with the specified uri
.
When an HTTP response is received from the server the responseHandler
is called passing in the response.
connect
in interface HttpClient
public HttpClientRequest patch(java.lang.String uri, Handler<HttpClientResponse> responseHandler)
HttpClient
HttpClientRequest
instance which represents an HTTP PATCH request with the specified uri
.
When an HTTP response is received from the server the responseHandler
is called passing in the response.
patch
in interface HttpClient
public HttpClientRequest request(java.lang.String method, java.lang.String uri, Handler<HttpClientResponse> responseHandler)
HttpClient
HttpClientRequest
instance which represents an HTTP request with the specified uri
.
The specific HTTP method (e.g. GET, POST, PUT etc) is specified using the parameter method
When an HTTP response is received from the server the responseHandler
is called passing in the response.
request
in interface HttpClient
public void close()
HttpClient
close
in interface HttpClient
public DefaultHttpClient setSSL(boolean ssl)
HttpClient
ssl
is true
, this signifies that any connections will be SSL connections.setSSL
in interface HttpClient
public DefaultHttpClient setKeyStorePath(java.lang.String path)
HttpClient
HttpClient.setSSL(boolean)
has been set to true
.The SSL key store is a standard Java Key Store, and will contain the client certificate. Client certificates are only required if the server requests client authentication.
setKeyStorePath
in interface HttpClient
public DefaultHttpClient setKeyStorePassword(java.lang.String pwd)
HttpClient
HttpClient.setSSL(boolean)
has been set to true
.setKeyStorePassword
in interface HttpClient
public DefaultHttpClient setTrustStorePath(java.lang.String path)
HttpClient
HttpClient.setSSL(boolean)
has been set to true
.
The trust store is a standard Java Key Store, and should contain the certificates of any servers that the client trusts.
If you wish the client to trust all server certificates you can use the HttpClient.setTrustAll(boolean)
method.
setTrustStorePath
in interface HttpClient
public DefaultHttpClient setTrustStorePassword(java.lang.String pwd)
HttpClient
HttpClient.setSSL(boolean)
has been set to true
.setTrustStorePassword
in interface HttpClient
public DefaultHttpClient setTrustAll(boolean trustAll)
HttpClient
Use this with caution as you may be exposed to "main in the middle" attacks
setTrustAll
in interface HttpClient
trustAll
- Set to true if you want to trust all server certificatespublic DefaultHttpClient setTCPNoDelay(boolean tcpNoDelay)
HttpClient
tcpNoDelay
is set to true
then Nagle's algorithm
will turned off for the TCP connections created by this instance.setTCPNoDelay
in interface HttpClient
public DefaultHttpClient setSendBufferSize(int size)
HttpClient
size
in bytes.setSendBufferSize
in interface HttpClient
public DefaultHttpClient setReceiveBufferSize(int size)
HttpClient
size
in bytes.setReceiveBufferSize
in interface HttpClient
public DefaultHttpClient setTCPKeepAlive(boolean keepAlive)
HttpClient
keepAlive
.setTCPKeepAlive
in interface HttpClient
public DefaultHttpClient setReuseAddress(boolean reuse)
HttpClient
reuse
.setReuseAddress
in interface HttpClient
public DefaultHttpClient setSoLinger(boolean linger)
HttpClient
linger
.setSoLinger
in interface HttpClient
public DefaultHttpClient setTrafficClass(int trafficClass)
HttpClient
trafficClass
.setTrafficClass
in interface HttpClient
public DefaultHttpClient setConnectTimeout(long timeout)
HttpClient
setConnectTimeout
in interface HttpClient
public DefaultHttpClient setBossThreads(int threads)
HttpClient
setBossThreads
in interface HttpClient
public java.lang.Boolean isTCPNoDelay()
isTCPNoDelay
in interface HttpClient
public java.lang.Integer getSendBufferSize()
getSendBufferSize
in interface HttpClient
public java.lang.Integer getReceiveBufferSize()
getReceiveBufferSize
in interface HttpClient
public java.lang.Boolean isTCPKeepAlive()
isTCPKeepAlive
in interface HttpClient
public java.lang.Boolean isReuseAddress()
isReuseAddress
in interface HttpClient
public java.lang.Boolean isSoLinger()
isSoLinger
in interface HttpClient
public java.lang.Integer getTrafficClass()
getTrafficClass
in interface HttpClient
public java.lang.Long getConnectTimeout()
getConnectTimeout
in interface HttpClient
public java.lang.Integer getBossThreads()
getBossThreads
in interface HttpClient
public boolean isSSL()
isSSL
in interface HttpClient
public boolean isTrustAll()
isTrustAll
in interface HttpClient
public java.lang.String getKeyStorePath()
getKeyStorePath
in interface HttpClient
public java.lang.String getKeyStorePassword()
getKeyStorePassword
in interface HttpClient
public java.lang.String getTrustStorePath()
getTrustStorePath
in interface HttpClient
public java.lang.String getTrustStorePassword()
getTrustStorePassword
in interface HttpClient