Package org.asynchttpclient
Class DefaultAsyncHttpClient
- java.lang.Object
-
- org.asynchttpclient.DefaultAsyncHttpClient
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
,AsyncHttpClient
public class DefaultAsyncHttpClient extends Object implements AsyncHttpClient
Default and threadsafe implementation ofAsyncHttpClient
.
-
-
Constructor Summary
Constructors Constructor Description DefaultAsyncHttpClient()
Create a new HTTP Asynchronous Client using the defaultDefaultAsyncHttpClientConfig
configuration.DefaultAsyncHttpClient(AsyncHttpClientConfig config)
Create a new HTTP Asynchronous Client using the specifiedDefaultAsyncHttpClientConfig
configuration.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
ListenableFuture<Response>
executeRequest(Request request)
Execute an HTTP request.ListenableFuture<Response>
executeRequest(RequestBuilder requestBuilder)
Execute an HTTP request.<T> ListenableFuture<T>
executeRequest(RequestBuilder requestBuilder, AsyncHandler<T> handler)
Execute an HTTP request.<T> ListenableFuture<T>
executeRequest(Request request, AsyncHandler<T> handler)
Execute an HTTP request.void
flushChannelPoolPartitions(Predicate<Object> predicate)
Flush ChannelPool partitions based on a predicateChannelPool
getChannelPool()
ClientStats
getClientStats()
Return details about pooled connections.AsyncHttpClientConfig
getConfig()
Return the config associated to this client.io.netty.channel.EventLoopGroup
getEventLoopGroup()
boolean
isClosed()
Return true if closedBoundRequestBuilder
prepare(String method, String url)
Prepare an HTTP client request.BoundRequestBuilder
prepareConnect(String url)
Prepare an HTTP client CONNECT request.BoundRequestBuilder
prepareDelete(String url)
Prepare an HTTP client DELETE request.BoundRequestBuilder
prepareGet(String url)
Prepare an HTTP client GET request.BoundRequestBuilder
prepareHead(String url)
Prepare an HTTP client HEAD request.BoundRequestBuilder
prepareOptions(String url)
Prepare an HTTP client OPTIONS request.BoundRequestBuilder
preparePatch(String url)
Prepare an HTTP client PATCH request.BoundRequestBuilder
preparePost(String url)
Prepare an HTTP client POST request.BoundRequestBuilder
preparePut(String url)
Prepare an HTTP client PUT request.BoundRequestBuilder
prepareRequest(Request request)
Construct aRequestBuilder
using aRequest
BoundRequestBuilder
prepareRequest(RequestBuilder requestBuilder)
Construct aRequestBuilder
using aRequestBuilder
BoundRequestBuilder
prepareTrace(String url)
Prepare an HTTP client TRACE request.protected BoundRequestBuilder
requestBuilder(String method, String url)
protected BoundRequestBuilder
requestBuilder(Request prototype)
DefaultAsyncHttpClient
setSignatureCalculator(SignatureCalculator signatureCalculator)
Set default signature calculator to use for requests built by this client instance
-
-
-
Constructor Detail
-
DefaultAsyncHttpClient
public DefaultAsyncHttpClient()
Create a new HTTP Asynchronous Client using the defaultDefaultAsyncHttpClientConfig
configuration. The defaultAsyncHttpClient
that will be used will be based on the classpath configuration.If none of those providers are found, then the engine will throw an IllegalStateException.
-
DefaultAsyncHttpClient
public DefaultAsyncHttpClient(AsyncHttpClientConfig config)
Create a new HTTP Asynchronous Client using the specifiedDefaultAsyncHttpClientConfig
configuration. This configuration will be passed to the defaultAsyncHttpClient
that will be selected based on the classpath configuration.- Parameters:
config
- aDefaultAsyncHttpClientConfig
-
-
Method Detail
-
close
public void close()
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
-
isClosed
public boolean isClosed()
Description copied from interface:AsyncHttpClient
Return true if closed- Specified by:
isClosed
in interfaceAsyncHttpClient
- Returns:
- true if closed
-
setSignatureCalculator
public DefaultAsyncHttpClient setSignatureCalculator(SignatureCalculator signatureCalculator)
Description copied from interface:AsyncHttpClient
Set default signature calculator to use for requests built by this client instance- Specified by:
setSignatureCalculator
in interfaceAsyncHttpClient
- Parameters:
signatureCalculator
- a signature calculator- Returns:
RequestBuilder
-
prepare
public BoundRequestBuilder prepare(String method, String url)
Description copied from interface:AsyncHttpClient
Prepare an HTTP client request.- Specified by:
prepare
in interfaceAsyncHttpClient
- Parameters:
method
- HTTP request method type. MUST BE in upper caseurl
- A well formed URL.- Returns:
RequestBuilder
-
prepareGet
public BoundRequestBuilder prepareGet(String url)
Description copied from interface:AsyncHttpClient
Prepare an HTTP client GET request.- Specified by:
prepareGet
in interfaceAsyncHttpClient
- Parameters:
url
- A well formed URL.- Returns:
RequestBuilder
-
prepareConnect
public BoundRequestBuilder prepareConnect(String url)
Description copied from interface:AsyncHttpClient
Prepare an HTTP client CONNECT request.- Specified by:
prepareConnect
in interfaceAsyncHttpClient
- Parameters:
url
- A well formed URL.- Returns:
RequestBuilder
-
prepareOptions
public BoundRequestBuilder prepareOptions(String url)
Description copied from interface:AsyncHttpClient
Prepare an HTTP client OPTIONS request.- Specified by:
prepareOptions
in interfaceAsyncHttpClient
- Parameters:
url
- A well formed URL.- Returns:
RequestBuilder
-
prepareHead
public BoundRequestBuilder prepareHead(String url)
Description copied from interface:AsyncHttpClient
Prepare an HTTP client HEAD request.- Specified by:
prepareHead
in interfaceAsyncHttpClient
- Parameters:
url
- A well formed URL.- Returns:
RequestBuilder
-
preparePost
public BoundRequestBuilder preparePost(String url)
Description copied from interface:AsyncHttpClient
Prepare an HTTP client POST request.- Specified by:
preparePost
in interfaceAsyncHttpClient
- Parameters:
url
- A well formed URL.- Returns:
RequestBuilder
-
preparePut
public BoundRequestBuilder preparePut(String url)
Description copied from interface:AsyncHttpClient
Prepare an HTTP client PUT request.- Specified by:
preparePut
in interfaceAsyncHttpClient
- Parameters:
url
- A well formed URL.- Returns:
RequestBuilder
-
prepareDelete
public BoundRequestBuilder prepareDelete(String url)
Description copied from interface:AsyncHttpClient
Prepare an HTTP client DELETE request.- Specified by:
prepareDelete
in interfaceAsyncHttpClient
- Parameters:
url
- A well formed URL.- Returns:
RequestBuilder
-
preparePatch
public BoundRequestBuilder preparePatch(String url)
Description copied from interface:AsyncHttpClient
Prepare an HTTP client PATCH request.- Specified by:
preparePatch
in interfaceAsyncHttpClient
- Parameters:
url
- A well formed URL.- Returns:
RequestBuilder
-
prepareTrace
public BoundRequestBuilder prepareTrace(String url)
Description copied from interface:AsyncHttpClient
Prepare an HTTP client TRACE request.- Specified by:
prepareTrace
in interfaceAsyncHttpClient
- Parameters:
url
- A well formed URL.- Returns:
RequestBuilder
-
prepareRequest
public BoundRequestBuilder prepareRequest(Request request)
Description copied from interface:AsyncHttpClient
Construct aRequestBuilder
using aRequest
- Specified by:
prepareRequest
in interfaceAsyncHttpClient
- Parameters:
request
- aRequest
- Returns:
RequestBuilder
-
prepareRequest
public BoundRequestBuilder prepareRequest(RequestBuilder requestBuilder)
Description copied from interface:AsyncHttpClient
Construct aRequestBuilder
using aRequestBuilder
- Specified by:
prepareRequest
in interfaceAsyncHttpClient
- Parameters:
requestBuilder
- aRequestBuilder
- Returns:
RequestBuilder
-
executeRequest
public <T> ListenableFuture<T> executeRequest(Request request, AsyncHandler<T> handler)
Description copied from interface:AsyncHttpClient
Execute an HTTP request.- Specified by:
executeRequest
in interfaceAsyncHttpClient
- Type Parameters:
T
- Type of the value that will be returned by the associatedFuture
- Parameters:
request
-Request
handler
- an instance ofAsyncHandler
- Returns:
- a
Future
of type T
-
executeRequest
public <T> ListenableFuture<T> executeRequest(RequestBuilder requestBuilder, AsyncHandler<T> handler)
Description copied from interface:AsyncHttpClient
Execute an HTTP request.- Specified by:
executeRequest
in interfaceAsyncHttpClient
- Type Parameters:
T
- Type of the value that will be returned by the associatedFuture
- Parameters:
requestBuilder
-RequestBuilder
handler
- an instance ofAsyncHandler
- Returns:
- a
Future
of type T
-
executeRequest
public ListenableFuture<Response> executeRequest(Request request)
Description copied from interface:AsyncHttpClient
Execute an HTTP request.- Specified by:
executeRequest
in interfaceAsyncHttpClient
- Parameters:
request
-Request
- Returns:
- a
Future
of type Response
-
executeRequest
public ListenableFuture<Response> executeRequest(RequestBuilder requestBuilder)
Description copied from interface:AsyncHttpClient
Execute an HTTP request.- Specified by:
executeRequest
in interfaceAsyncHttpClient
- Parameters:
requestBuilder
-RequestBuilder
- Returns:
- a
Future
of type Response
-
getChannelPool
public ChannelPool getChannelPool()
-
getEventLoopGroup
public io.netty.channel.EventLoopGroup getEventLoopGroup()
-
getClientStats
public ClientStats getClientStats()
Description copied from interface:AsyncHttpClient
Return details about pooled connections.- Specified by:
getClientStats
in interfaceAsyncHttpClient
- Returns:
- a
ClientStats
-
flushChannelPoolPartitions
public void flushChannelPoolPartitions(Predicate<Object> predicate)
Description copied from interface:AsyncHttpClient
Flush ChannelPool partitions based on a predicate- Specified by:
flushChannelPoolPartitions
in interfaceAsyncHttpClient
- Parameters:
predicate
- the predicate
-
requestBuilder
protected BoundRequestBuilder requestBuilder(String method, String url)
-
requestBuilder
protected BoundRequestBuilder requestBuilder(Request prototype)
-
getConfig
public AsyncHttpClientConfig getConfig()
Description copied from interface:AsyncHttpClient
Return the config associated to this client.- Specified by:
getConfig
in interfaceAsyncHttpClient
- Returns:
- the config associated to this client.
-
-