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 defaultDefaultAsyncHttpClientConfigconfiguration.DefaultAsyncHttpClient(AsyncHttpClientConfig config)Create a new HTTP Asynchronous Client using the specifiedDefaultAsyncHttpClientConfigconfiguration.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()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.voidflushChannelPoolPartitions(Predicate<Object> predicate)Flush ChannelPool partitions based on a predicateChannelPoolgetChannelPool()ClientStatsgetClientStats()Return details about pooled connections.AsyncHttpClientConfiggetConfig()Return the config associated to this client.io.netty.channel.EventLoopGroupgetEventLoopGroup()booleanisClosed()Return true if closedBoundRequestBuilderprepare(String method, String url)Prepare an HTTP client request.BoundRequestBuilderprepareConnect(String url)Prepare an HTTP client CONNECT request.BoundRequestBuilderprepareDelete(String url)Prepare an HTTP client DELETE request.BoundRequestBuilderprepareGet(String url)Prepare an HTTP client GET request.BoundRequestBuilderprepareHead(String url)Prepare an HTTP client HEAD request.BoundRequestBuilderprepareOptions(String url)Prepare an HTTP client OPTIONS request.BoundRequestBuilderpreparePatch(String url)Prepare an HTTP client PATCH request.BoundRequestBuilderpreparePost(String url)Prepare an HTTP client POST request.BoundRequestBuilderpreparePut(String url)Prepare an HTTP client PUT request.BoundRequestBuilderprepareRequest(Request request)Construct aRequestBuilderusing aRequestBoundRequestBuilderprepareRequest(RequestBuilder requestBuilder)Construct aRequestBuilderusing aRequestBuilderBoundRequestBuilderprepareTrace(String url)Prepare an HTTP client TRACE request.protected BoundRequestBuilderrequestBuilder(String method, String url)protected BoundRequestBuilderrequestBuilder(Request prototype)DefaultAsyncHttpClientsetSignatureCalculator(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 defaultDefaultAsyncHttpClientConfigconfiguration. The defaultAsyncHttpClientthat 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 specifiedDefaultAsyncHttpClientConfigconfiguration. This configuration will be passed to the defaultAsyncHttpClientthat will be selected based on the classpath configuration.- Parameters:
config- aDefaultAsyncHttpClientConfig
-
-
Method Detail
-
close
public void close()
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable
-
isClosed
public boolean isClosed()
Description copied from interface:AsyncHttpClientReturn true if closed- Specified by:
isClosedin interfaceAsyncHttpClient- Returns:
- true if closed
-
setSignatureCalculator
public DefaultAsyncHttpClient setSignatureCalculator(SignatureCalculator signatureCalculator)
Description copied from interface:AsyncHttpClientSet default signature calculator to use for requests built by this client instance- Specified by:
setSignatureCalculatorin interfaceAsyncHttpClient- Parameters:
signatureCalculator- a signature calculator- Returns:
RequestBuilder
-
prepare
public BoundRequestBuilder prepare(String method, String url)
Description copied from interface:AsyncHttpClientPrepare an HTTP client request.- Specified by:
preparein 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:AsyncHttpClientPrepare an HTTP client GET request.- Specified by:
prepareGetin interfaceAsyncHttpClient- Parameters:
url- A well-formed URL.- Returns:
RequestBuilder
-
prepareConnect
public BoundRequestBuilder prepareConnect(String url)
Description copied from interface:AsyncHttpClientPrepare an HTTP client CONNECT request.- Specified by:
prepareConnectin interfaceAsyncHttpClient- Parameters:
url- A well-formed URL.- Returns:
RequestBuilder
-
prepareOptions
public BoundRequestBuilder prepareOptions(String url)
Description copied from interface:AsyncHttpClientPrepare an HTTP client OPTIONS request.- Specified by:
prepareOptionsin interfaceAsyncHttpClient- Parameters:
url- A well-formed URL.- Returns:
RequestBuilder
-
prepareHead
public BoundRequestBuilder prepareHead(String url)
Description copied from interface:AsyncHttpClientPrepare an HTTP client HEAD request.- Specified by:
prepareHeadin interfaceAsyncHttpClient- Parameters:
url- A well-formed URL.- Returns:
RequestBuilder
-
preparePost
public BoundRequestBuilder preparePost(String url)
Description copied from interface:AsyncHttpClientPrepare an HTTP client POST request.- Specified by:
preparePostin interfaceAsyncHttpClient- Parameters:
url- A well-formed URL.- Returns:
RequestBuilder
-
preparePut
public BoundRequestBuilder preparePut(String url)
Description copied from interface:AsyncHttpClientPrepare an HTTP client PUT request.- Specified by:
preparePutin interfaceAsyncHttpClient- Parameters:
url- A well-formed URL.- Returns:
RequestBuilder
-
prepareDelete
public BoundRequestBuilder prepareDelete(String url)
Description copied from interface:AsyncHttpClientPrepare an HTTP client DELETE request.- Specified by:
prepareDeletein interfaceAsyncHttpClient- Parameters:
url- A well-formed URL.- Returns:
RequestBuilder
-
preparePatch
public BoundRequestBuilder preparePatch(String url)
Description copied from interface:AsyncHttpClientPrepare an HTTP client PATCH request.- Specified by:
preparePatchin interfaceAsyncHttpClient- Parameters:
url- A well-formed URL.- Returns:
RequestBuilder
-
prepareTrace
public BoundRequestBuilder prepareTrace(String url)
Description copied from interface:AsyncHttpClientPrepare an HTTP client TRACE request.- Specified by:
prepareTracein interfaceAsyncHttpClient- Parameters:
url- A well-formed URL.- Returns:
RequestBuilder
-
prepareRequest
public BoundRequestBuilder prepareRequest(Request request)
Description copied from interface:AsyncHttpClientConstruct aRequestBuilderusing aRequest- Specified by:
prepareRequestin interfaceAsyncHttpClient- Parameters:
request- aRequest- Returns:
RequestBuilder
-
prepareRequest
public BoundRequestBuilder prepareRequest(RequestBuilder requestBuilder)
Description copied from interface:AsyncHttpClientConstruct aRequestBuilderusing aRequestBuilder- Specified by:
prepareRequestin interfaceAsyncHttpClient- Parameters:
requestBuilder- aRequestBuilder- Returns:
RequestBuilder
-
executeRequest
public <T> ListenableFuture<T> executeRequest(Request request, AsyncHandler<T> handler)
Description copied from interface:AsyncHttpClientExecute an HTTP request.- Specified by:
executeRequestin interfaceAsyncHttpClient- Type Parameters:
T- Type of the value that will be returned by the associatedFuture- Parameters:
request-Requesthandler- an instance ofAsyncHandler- Returns:
- a
Futureof type T
-
executeRequest
public <T> ListenableFuture<T> executeRequest(RequestBuilder requestBuilder, AsyncHandler<T> handler)
Description copied from interface:AsyncHttpClientExecute an HTTP request.- Specified by:
executeRequestin interfaceAsyncHttpClient- Type Parameters:
T- Type of the value that will be returned by the associatedFuture- Parameters:
requestBuilder-RequestBuilderhandler- an instance ofAsyncHandler- Returns:
- a
Futureof type T
-
executeRequest
public ListenableFuture<Response> executeRequest(Request request)
Description copied from interface:AsyncHttpClientExecute an HTTP request.- Specified by:
executeRequestin interfaceAsyncHttpClient- Parameters:
request-Request- Returns:
- a
Futureof type Response
-
executeRequest
public ListenableFuture<Response> executeRequest(RequestBuilder requestBuilder)
Description copied from interface:AsyncHttpClientExecute an HTTP request.- Specified by:
executeRequestin interfaceAsyncHttpClient- Parameters:
requestBuilder-RequestBuilder- Returns:
- a
Futureof type Response
-
getChannelPool
public ChannelPool getChannelPool()
-
getEventLoopGroup
public io.netty.channel.EventLoopGroup getEventLoopGroup()
-
getClientStats
public ClientStats getClientStats()
Description copied from interface:AsyncHttpClientReturn details about pooled connections.- Specified by:
getClientStatsin interfaceAsyncHttpClient- Returns:
- a
ClientStats
-
flushChannelPoolPartitions
public void flushChannelPoolPartitions(Predicate<Object> predicate)
Description copied from interface:AsyncHttpClientFlush ChannelPool partitions based on a predicate- Specified by:
flushChannelPoolPartitionsin 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:AsyncHttpClientReturn the config associated to this client.- Specified by:
getConfigin interfaceAsyncHttpClient- Returns:
- the config associated to this client.
-
-