public class HttpClient
extends org.asynchttpclient.DefaultAsyncHttpClientConfig.Builder
HttpClient client = new HttpClient();
client.start();
// Build JSON request
Tree req = new Tree();
req.put("key1", "value1");
client.post("http://host/path", req).then(rsp -> {
// Success (process JSON response)
String value2 = rsp.get("key2", "defaultValue");
}).catchError(err -> {
// Failed
err.printStackTrace();
});
Advanced usage with custom parameters:
client.post("http://server/path", params -> {
params.addHeader("key", "value");
params.setRequestTimeout(3000);
}).then(rsp -> {
// Success
}).catchError(err -> {
// Failed
});
Receiving WebSocket messages from server:
client.ws("ws://server/path", msg -> {
// Message received; "msg" is a JSON structure
String value = msg.get("key", "defaultValue");
});
| Modifier and Type | Field and Description |
|---|---|
protected org.asynchttpclient.DefaultAsyncHttpClient |
client
Internal AsyncHttpClient instance.
|
protected java.util.concurrent.ScheduledExecutorService |
scheduler
Task scheduler (for WebSocket heartbeat function).
|
protected boolean |
shutDownThreadPools
Shut down ScheduledExecutorService on stop().
|
protected org.asynchttpclient.SignatureCalculator |
signatureCalculator
Default signature calculator to use for all requests constructed by this
client instance.
|
| Constructor and Description |
|---|
HttpClient() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
closeResources() |
io.datatree.Promise |
connect(java.lang.String url)
Executes an HTTP CONNECT request.
|
io.datatree.Promise |
connect(java.lang.String url,
java.util.function.Consumer<RequestParams> configurator)
Executes an HTTP CONNECT request.
|
io.datatree.Promise |
delete(java.lang.String url)
Executes an HTTP DELETE request.
|
io.datatree.Promise |
delete(java.lang.String url,
java.util.function.Consumer<RequestParams> configurator)
Executes an HTTP DELETE request.
|
io.datatree.Promise |
delete(java.lang.String url,
io.datatree.Tree request)
Executes an HTTP DELETE request.
|
io.datatree.Promise |
delete(java.lang.String url,
io.datatree.Tree request,
java.util.function.Consumer<RequestParams> configurator)
Executes an HTTP DELETE request.
|
protected io.datatree.Promise |
execute(java.lang.String url,
java.lang.String method,
java.util.function.Consumer<RequestParams> configurator) |
protected void |
finalize() |
io.datatree.Promise |
get(java.lang.String url)
Executes an HTTP GET request.
|
io.datatree.Promise |
get(java.lang.String url,
java.util.function.Consumer<RequestParams> configurator)
Executes an HTTP GET request.
|
io.datatree.Promise |
get(java.lang.String url,
io.datatree.Tree request)
Executes an HTTP GET request.
|
io.datatree.Promise |
get(java.lang.String url,
io.datatree.Tree request,
java.util.function.Consumer<RequestParams> configurator)
Executes an HTTP GET request.
|
protected org.asynchttpclient.AsyncHttpClient |
getAsyncHttpClient() |
protected java.util.concurrent.ScheduledExecutorService |
getScheduler() |
io.datatree.Promise |
head(java.lang.String url)
Executes an HTTP HEAD request.
|
io.datatree.Promise |
head(java.lang.String url,
java.util.function.Consumer<RequestParams> configurator)
Executes an HTTP HEAD request.
|
io.datatree.Promise |
options(java.lang.String url)
Executes an HTTP OPTIONS request.
|
io.datatree.Promise |
options(java.lang.String url,
java.util.function.Consumer<RequestParams> configurator)
Executes an HTTP OPTIONS request.
|
io.datatree.Promise |
options(java.lang.String url,
io.datatree.Tree request)
Executes an HTTP OPTIONS request.
|
io.datatree.Promise |
options(java.lang.String url,
io.datatree.Tree request,
java.util.function.Consumer<RequestParams> configurator)
Executes an HTTP OPTIONS request.
|
io.datatree.Promise |
patch(java.lang.String url)
Executes an HTTP PATCH request.
|
io.datatree.Promise |
patch(java.lang.String url,
java.util.function.Consumer<RequestParams> configurator)
Executes an HTTP PATCH request.
|
io.datatree.Promise |
patch(java.lang.String url,
io.datatree.Tree request)
Executes an HTTP PATCH request.
|
io.datatree.Promise |
patch(java.lang.String url,
io.datatree.Tree request,
java.util.function.Consumer<RequestParams> configurator)
Executes an HTTP PATCH request.
|
io.datatree.Promise |
post(java.lang.String url)
Executes an HTTP POST request.
|
io.datatree.Promise |
post(java.lang.String url,
java.util.function.Consumer<RequestParams> request)
Executes an HTTP POST request.
|
io.datatree.Promise |
post(java.lang.String url,
services.moleculer.stream.PacketStream request)
Executes an HTTP POST request.
|
io.datatree.Promise |
post(java.lang.String url,
services.moleculer.stream.PacketStream request,
java.util.function.Consumer<RequestParams> configurator)
Executes an HTTP POST request.
|
io.datatree.Promise |
post(java.lang.String url,
io.datatree.Tree request)
Executes an HTTP POST request.
|
io.datatree.Promise |
post(java.lang.String url,
io.datatree.Tree request,
java.util.function.Consumer<RequestParams> configurator)
Executes an HTTP POST request.
|
io.datatree.Promise |
put(java.lang.String url)
Executes an HTTP PUT request.
|
io.datatree.Promise |
put(java.lang.String url,
java.util.function.Consumer<RequestParams> configurator)
Executes an HTTP PUT request.
|
io.datatree.Promise |
put(java.lang.String url,
services.moleculer.stream.PacketStream request)
Executes an HTTP PUT request.
|
io.datatree.Promise |
put(java.lang.String url,
services.moleculer.stream.PacketStream request,
java.util.function.Consumer<RequestParams> configurator)
Executes an HTTP PUT request.
|
io.datatree.Promise |
put(java.lang.String url,
io.datatree.Tree request)
Executes an HTTP PUT request.
|
io.datatree.Promise |
put(java.lang.String url,
io.datatree.Tree request,
java.util.function.Consumer<RequestParams> configurator)
Executes an HTTP PUT request.
|
org.asynchttpclient.DefaultAsyncHttpClientConfig.Builder |
setSignatureCalculator(org.asynchttpclient.SignatureCalculator signatureCalculator)
Set the default signature calculator.
|
void |
start() |
void |
stop() |
io.datatree.Promise |
trace(java.lang.String url)
Executes an HTTP TRACE request.
|
io.datatree.Promise |
trace(java.lang.String url,
java.util.function.Consumer<RequestParams> configurator)
Executes an HTTP TRACE request.
|
io.datatree.Promise |
trace(java.lang.String url,
io.datatree.Tree request)
Executes an HTTP TRACE request.
|
io.datatree.Promise |
trace(java.lang.String url,
io.datatree.Tree request,
java.util.function.Consumer<RequestParams> configurator)
Executes an HTTP TRACE request.
|
WebSocketConnection |
ws(java.lang.String url,
WebSocketHandler handler) |
WebSocketConnection |
ws(java.lang.String url,
WebSocketHandler handler,
java.util.function.Consumer<WebSocketParams> configurator) |
WebSocketConnection |
ws(java.lang.String url,
WebSocketHandler handler,
java.util.function.Consumer<WebSocketParams> configurator,
boolean autoConnect) |
addChannelOption, addIOExceptionFilter, addRequestFilter, addResponseFilter, build, removeIOExceptionFilter, removeRequestFilter, removeResponseFilter, setAcquireFreeChannelTimeout, setAggregateWebSocketFrameFragments, setAllocator, setChannelPool, setChunkedFileChunkSize, setCompressionEnforced, setConnectionPoolCleanerPeriod, setConnectionSemaphoreFactory, setConnectionTtl, setConnectTimeout, setCookieStore, setDisableHttpsEndpointIdentificationAlgorithm, setDisableUrlEncodingForBoundRequests, setDisableZeroCopy, setEnabledCipherSuites, setEnabledProtocols, setEnablewebSocketCompression, setEventLoopGroup, setFilterInsecureCipherSuites, setFollowRedirect, setHandshakeTimeout, setHttpAdditionalChannelInitializer, setHttpClientCodecInitialBufferSize, setHttpClientCodecMaxChunkSize, setHttpClientCodecMaxHeaderSize, setHttpClientCodecMaxInitialLineLength, setIoThreadsCount, setKeepAlive, setKeepAliveStrategy, setKeepEncodingHeader, setMaxConnections, setMaxConnectionsPerHost, setMaxRedirects, setMaxRequestRetry, setNettyTimer, setPooledConnectionIdleTimeout, setProxyServer, setProxyServer, setProxyServerSelector, setReadTimeout, setRealm, setRealm, setRequestTimeout, setResponseBodyPartFactory, setShutdownQuietPeriod, setShutdownTimeout, setSoLinger, setSoRcvBuf, setSoReuseAddress, setSoSndBuf, setSslContext, setSslEngineFactory, setSslSessionCacheSize, setSslSessionTimeout, setStrict302Handling, setTcpNoDelay, setThreadFactory, setThreadPoolName, setUseInsecureTrustManager, setUseLaxCookieEncoder, setUseNativeTransport, setUseOpenSsl, setUseProxyProperties, setUseProxySelector, setUserAgent, setValidateResponseHeaders, setWebSocketMaxBufferSize, setWebSocketMaxFrameSize, setWsAdditionalChannelInitializerprotected org.asynchttpclient.DefaultAsyncHttpClient client
protected org.asynchttpclient.SignatureCalculator signatureCalculator
protected java.util.concurrent.ScheduledExecutorService scheduler
protected boolean shutDownThreadPools
public void start()
public void stop()
throws java.lang.Exception
java.lang.Exceptionprotected void finalize()
throws java.lang.Throwable
finalize in class java.lang.Objectjava.lang.Throwableprotected void closeResources()
public io.datatree.Promise get(java.lang.String url)
url - A well formed URL.Promisepublic io.datatree.Promise get(java.lang.String url,
io.datatree.Tree request)
url - A well formed URL.request - Request parameters in a TreePromisepublic io.datatree.Promise get(java.lang.String url,
java.util.function.Consumer<RequestParams> configurator)
url - A well formed URL.configurator - Consumer for set the parameters of the requestPromisepublic io.datatree.Promise get(java.lang.String url,
io.datatree.Tree request,
java.util.function.Consumer<RequestParams> configurator)
url - A well formed URL.request - Request parameters in a Treeconfigurator - Consumer for set the parameters of the requestPromisepublic io.datatree.Promise connect(java.lang.String url)
url - A well formed URL.Promisepublic io.datatree.Promise connect(java.lang.String url,
java.util.function.Consumer<RequestParams> configurator)
url - A well formed URL.configurator - Consumer for set the parameters of the requestPromisepublic io.datatree.Promise options(java.lang.String url)
url - A well formed URL.Promisepublic io.datatree.Promise options(java.lang.String url,
io.datatree.Tree request)
url - A well formed URL.request - Request parameters in a TreePromisepublic io.datatree.Promise options(java.lang.String url,
java.util.function.Consumer<RequestParams> configurator)
url - A well formed URL.configurator - Consumer for set the parameters of the requestPromisepublic io.datatree.Promise options(java.lang.String url,
io.datatree.Tree request,
java.util.function.Consumer<RequestParams> configurator)
url - A well formed URL.request - Request parameters in a Treeconfigurator - Consumer for set the parameters of the requestPromisepublic io.datatree.Promise head(java.lang.String url)
url - A well formed URL.Promisepublic io.datatree.Promise head(java.lang.String url,
java.util.function.Consumer<RequestParams> configurator)
url - A well formed URL.configurator - Consumer for set the parameters of the requestPromisepublic io.datatree.Promise post(java.lang.String url)
url - A well formed URL.Promisepublic io.datatree.Promise post(java.lang.String url,
io.datatree.Tree request)
url - A well formed URL.request - Request body in JSON formatPromisepublic io.datatree.Promise post(java.lang.String url,
services.moleculer.stream.PacketStream request)
url - A well formed URL.request - Request body as PacketStreamPromisepublic io.datatree.Promise post(java.lang.String url,
java.util.function.Consumer<RequestParams> request)
url - A well formed URL.configurator - Consumer for set the parameters of the requestPromisepublic io.datatree.Promise post(java.lang.String url,
io.datatree.Tree request,
java.util.function.Consumer<RequestParams> configurator)
url - A well formed URL.request - Request body in JSON formatconfigurator - Consumer for set the parameters of the requestPromisepublic io.datatree.Promise post(java.lang.String url,
services.moleculer.stream.PacketStream request,
java.util.function.Consumer<RequestParams> configurator)
url - A well formed URL.request - Request body as PacketStreamconfigurator - Consumer for set the parameters of the requestPromisepublic io.datatree.Promise put(java.lang.String url)
url - A well formed URL.Promisepublic io.datatree.Promise put(java.lang.String url,
io.datatree.Tree request)
url - A well formed URL.request - Request body as PacketStreamPromisepublic io.datatree.Promise put(java.lang.String url,
services.moleculer.stream.PacketStream request)
url - A well formed URL.request - Request body as PacketStreamPromisepublic io.datatree.Promise put(java.lang.String url,
java.util.function.Consumer<RequestParams> configurator)
url - A well formed URL.configurator - Consumer for set the parameters of the requestPromisepublic io.datatree.Promise put(java.lang.String url,
io.datatree.Tree request,
java.util.function.Consumer<RequestParams> configurator)
url - A well formed URL.request - Request body as Treeconfigurator - Consumer for set the parameters of the requestPromisepublic io.datatree.Promise put(java.lang.String url,
services.moleculer.stream.PacketStream request,
java.util.function.Consumer<RequestParams> configurator)
url - A well formed URL.request - Request body as PacketStreamconfigurator - Consumer for set the parameters of the requestPromisepublic io.datatree.Promise delete(java.lang.String url)
url - A well formed URL.Promisepublic io.datatree.Promise delete(java.lang.String url,
io.datatree.Tree request)
url - A well formed URL.request - Request body as TreePromisepublic io.datatree.Promise delete(java.lang.String url,
java.util.function.Consumer<RequestParams> configurator)
url - A well formed URL.configurator - Consumer for set the parameters of the requestPromisepublic io.datatree.Promise delete(java.lang.String url,
io.datatree.Tree request,
java.util.function.Consumer<RequestParams> configurator)
url - A well formed URL.request - Request body as Treeconfigurator - Consumer for set the parameters of the requestPromisepublic io.datatree.Promise patch(java.lang.String url)
url - A well formed URL.Promisepublic io.datatree.Promise patch(java.lang.String url,
io.datatree.Tree request)
url - A well formed URL.request - Request body as TreePromisepublic io.datatree.Promise patch(java.lang.String url,
java.util.function.Consumer<RequestParams> configurator)
url - A well formed URL.configurator - Consumer for set the parameters of the requestPromisepublic io.datatree.Promise patch(java.lang.String url,
io.datatree.Tree request,
java.util.function.Consumer<RequestParams> configurator)
url - A well formed URL.request - Request body as Treeconfigurator - Consumer for set the parameters of the requestPromisepublic io.datatree.Promise trace(java.lang.String url)
url - A well formed URL.Promisepublic io.datatree.Promise trace(java.lang.String url,
io.datatree.Tree request)
url - A well formed URL.request - Request body as TreePromisepublic io.datatree.Promise trace(java.lang.String url,
java.util.function.Consumer<RequestParams> configurator)
url - A well formed URL.configurator - Consumer for set the parameters of the requestPromisepublic io.datatree.Promise trace(java.lang.String url,
io.datatree.Tree request,
java.util.function.Consumer<RequestParams> configurator)
url - A well formed URL.request - Request body as Treeconfigurator - Consumer for set the parameters of the requestPromisepublic WebSocketConnection ws(java.lang.String url, WebSocketHandler handler)
public WebSocketConnection ws(java.lang.String url, WebSocketHandler handler, java.util.function.Consumer<WebSocketParams> configurator)
public WebSocketConnection ws(java.lang.String url, WebSocketHandler handler, java.util.function.Consumer<WebSocketParams> configurator, boolean autoConnect)
protected io.datatree.Promise execute(java.lang.String url,
java.lang.String method,
java.util.function.Consumer<RequestParams> configurator)
protected org.asynchttpclient.AsyncHttpClient getAsyncHttpClient()
protected java.util.concurrent.ScheduledExecutorService getScheduler()
public org.asynchttpclient.DefaultAsyncHttpClientConfig.Builder setSignatureCalculator(org.asynchttpclient.SignatureCalculator signatureCalculator)
signatureCalculator - signature calculator