Package com.landawn.abacus.http
Class HttpClient
java.lang.Object
com.landawn.abacus.http.HttpClient
Any header can be set into the parameter
HttpClient is thread safe.
settings
HttpClient is thread safe.
- Since:
- 0.8
- Author:
- Haiyang Li
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
Unit is milliseconds.static final int
static final int
-
Method Summary
Modifier and TypeMethodDescriptionasyncDelete
(HttpSettings settings) <T> ContinuableFuture<T>
asyncDelete
(Class<T> resultClass) <T> ContinuableFuture<T>
asyncDelete
(Class<T> resultClass, HttpSettings settings) <T> ContinuableFuture<T>
asyncDelete
(Class<T> resultClass, Object queryParameters) <T> ContinuableFuture<T>
asyncDelete
(Class<T> resultClass, Object queryParameters, HttpSettings settings) asyncDelete
(Object queryParameters) asyncDelete
(Object queryParameters, HttpSettings settings) asyncExecute
(HttpMethod httpMethod, File output, Object request, HttpSettings settings) asyncExecute
(HttpMethod httpMethod, OutputStream output, Object request, HttpSettings settings) asyncExecute
(HttpMethod httpMethod, Writer output, Object request, HttpSettings settings) <T> ContinuableFuture<T>
asyncExecute
(HttpMethod httpMethod, Class<T> resultClass, Object request) <T> ContinuableFuture<T>
asyncExecute
(HttpMethod httpMethod, Class<T> resultClass, Object request, HttpSettings settings) asyncExecute
(HttpMethod httpMethod, Object request) asyncExecute
(HttpMethod httpMethod, Object request, HttpSettings settings) asyncGet()
asyncGet
(HttpSettings settings) <T> ContinuableFuture<T>
<T> ContinuableFuture<T>
asyncGet
(Class<T> resultClass, HttpSettings settings) <T> ContinuableFuture<T>
<T> ContinuableFuture<T>
asyncGet
(Class<T> resultClass, Object queryParameters, HttpSettings settings) asyncGet
(Object queryParameters, HttpSettings settings) asyncHead
(HttpSettings settings) <T> ContinuableFuture<T>
<T> ContinuableFuture<T>
asyncPost
(Class<T> resultClass, Object request, HttpSettings settings) asyncPost
(Object request, HttpSettings settings) <T> ContinuableFuture<T>
<T> ContinuableFuture<T>
asyncPut
(Class<T> resultClass, Object request, HttpSettings settings) asyncPut
(Object request, HttpSettings settings) void
close()
Close.static HttpClient
static HttpClient
static HttpClient
static HttpClient
create
(String url, int maxConnection, long connectionTimeoutInMillis, long readTimeoutInMillis, HttpSettings settings) static HttpClient
create
(String url, int maxConnection, long connectionTimeoutInMillis, long readTimeoutInMillis, HttpSettings settings, AtomicInteger sharedActiveConnectionCounter) static HttpClient
create
(String url, int maxConnection, long connectionTimeoutInMillis, long readTimeoutInMillis, HttpSettings settings, AtomicInteger sharedActiveConnectionCounter, Executor executor) static HttpClient
create
(String url, int maxConnection, long connectionTimeoutInMillis, long readTimeoutInMillis, HttpSettings settings, Executor executor) static HttpClient
create
(String url, int maxConnection, long connectionTimeoutInMillis, long readTimeoutInMillis, Executor executor) static HttpClient
static HttpClient
static HttpClient
static HttpClient
static HttpClient
create
(URL url, int maxConnection, long connectionTimeoutInMillis, long readTimeoutInMillis, HttpSettings settings) static HttpClient
create
(URL url, int maxConnection, long connectionTimeoutInMillis, long readTimeoutInMillis, HttpSettings settings, AtomicInteger sharedActiveConnectionCounter) static HttpClient
create
(URL url, int maxConnection, long connectionTimeoutInMillis, long readTimeoutInMillis, HttpSettings settings, AtomicInteger sharedActiveConnectionCounter, Executor executor) static HttpClient
create
(URL url, int maxConnection, long connectionTimeoutInMillis, long readTimeoutInMillis, HttpSettings settings, Executor executor) static HttpClient
create
(URL url, int maxConnection, long connectionTimeoutInMillis, long readTimeoutInMillis, Executor executor) static HttpClient
delete()
delete
(HttpSettings settings) <T> T
<T> T
delete
(Class<T> resultClass, HttpSettings settings) <T> T
<T> T
delete
(Class<T> resultClass, Object queryParameters, HttpSettings settings) delete
(Object queryParameters, HttpSettings settings) void
execute
(HttpMethod httpMethod, File output, Object request, HttpSettings settings) void
execute
(HttpMethod httpMethod, OutputStream output, Object request, HttpSettings settings) void
execute
(HttpMethod httpMethod, Writer output, Object request, HttpSettings settings) <T> T
execute
(HttpMethod httpMethod, Class<T> resultClass, Object request) <T> T
execute
(HttpMethod httpMethod, Class<T> resultClass, Object request, HttpSettings settings) execute
(HttpMethod httpMethod, Object request) execute
(HttpMethod httpMethod, Object request, HttpSettings settings) get()
get
(HttpSettings settings) <T> T
<T> T
get
(Class<T> resultClass, HttpSettings settings) <T> T
<T> T
get
(Class<T> resultClass, Object queryParameters, HttpSettings settings) get
(Object queryParameters, HttpSettings settings) void
head()
void
head
(HttpSettings settings) openConnection
(HttpMethod httpMethod, Class<?> resultClass, boolean doOutput, HttpSettings settings) openConnection
(HttpMethod httpMethod, Class<?> resultClass, Object queryParameters, boolean doOutput, HttpSettings settings) <T> T
<T> T
post
(Class<T> resultClass, Object request, HttpSettings settings) post
(Object request, HttpSettings settings) <T> T
<T> T
put
(Class<T> resultClass, Object request, HttpSettings settings) put
(Object request, HttpSettings settings) url()
-
Field Details
-
DEFAULT_MAX_CONNECTION
public static final int DEFAULT_MAX_CONNECTION- See Also:
-
DEFAULT_CONNECTION_TIMEOUT
public static final int DEFAULT_CONNECTION_TIMEOUTUnit is milliseconds.- See Also:
-
DEFAULT_READ_TIMEOUT
public static final int DEFAULT_READ_TIMEOUT- See Also:
-
-
Method Details
-
create
- Parameters:
url
-- Returns:
-
create
- Parameters:
url
-maxConnection
-- Returns:
-
create
public static HttpClient create(String url, long connectionTimeoutInMillis, long readTimeoutInMillis) - Parameters:
url
-connectionTimeoutInMillis
-readTimeoutInMillis
-- Returns:
-
create
public static HttpClient create(String url, int maxConnection, long connectionTimeoutInMillis, long readTimeoutInMillis) - Parameters:
url
-maxConnection
-connectionTimeoutInMillis
-readTimeoutInMillis
-- Returns:
-
create
public static HttpClient create(String url, int maxConnection, long connectionTimeoutInMillis, long readTimeoutInMillis, HttpSettings settings) throws UncheckedIOException - Parameters:
url
-maxConnection
-connectionTimeoutInMillis
-readTimeoutInMillis
-settings
-- Returns:
- Throws:
UncheckedIOException
- the unchecked IO exception
-
create
public static HttpClient create(String url, int maxConnection, long connectionTimeoutInMillis, long readTimeoutInMillis, HttpSettings settings, AtomicInteger sharedActiveConnectionCounter) - Parameters:
url
-maxConnection
-connectionTimeoutInMillis
-readTimeoutInMillis
-settings
-sharedActiveConnectionCounter
-- Returns:
-
create
public static HttpClient create(String url, int maxConnection, long connectionTimeoutInMillis, long readTimeoutInMillis, Executor executor) - Parameters:
url
-maxConnection
-connectionTimeoutInMillis
-readTimeoutInMillis
-executor
-- Returns:
-
create
public static HttpClient create(String url, int maxConnection, long connectionTimeoutInMillis, long readTimeoutInMillis, HttpSettings settings, Executor executor) throws UncheckedIOException - Parameters:
url
-maxConnection
-connectionTimeoutInMillis
-readTimeoutInMillis
-settings
-executor
-- Returns:
- Throws:
UncheckedIOException
- the unchecked IO exception
-
create
public static HttpClient create(String url, int maxConnection, long connectionTimeoutInMillis, long readTimeoutInMillis, HttpSettings settings, AtomicInteger sharedActiveConnectionCounter, Executor executor) - Parameters:
url
-maxConnection
-connectionTimeoutInMillis
-readTimeoutInMillis
-settings
-sharedActiveConnectionCounter
-executor
-- Returns:
-
create
- Parameters:
url
-- Returns:
-
create
- Parameters:
url
-maxConnection
-- Returns:
-
create
- Parameters:
url
-connectionTimeoutInMillis
-readTimeoutInMillis
-- Returns:
-
create
public static HttpClient create(URL url, int maxConnection, long connectionTimeoutInMillis, long readTimeoutInMillis) - Parameters:
url
-maxConnection
-connectionTimeoutInMillis
-readTimeoutInMillis
-- Returns:
-
create
public static HttpClient create(URL url, int maxConnection, long connectionTimeoutInMillis, long readTimeoutInMillis, HttpSettings settings) throws UncheckedIOException - Parameters:
url
-maxConnection
-connectionTimeoutInMillis
-readTimeoutInMillis
-settings
-- Returns:
- Throws:
UncheckedIOException
- the unchecked IO exception
-
create
public static HttpClient create(URL url, int maxConnection, long connectionTimeoutInMillis, long readTimeoutInMillis, HttpSettings settings, AtomicInteger sharedActiveConnectionCounter) - Parameters:
url
-maxConnection
-connectionTimeoutInMillis
-readTimeoutInMillis
-settings
-sharedActiveConnectionCounter
-- Returns:
-
create
public static HttpClient create(URL url, int maxConnection, long connectionTimeoutInMillis, long readTimeoutInMillis, Executor executor) - Parameters:
url
-maxConnection
-connectionTimeoutInMillis
-readTimeoutInMillis
-executor
-- Returns:
-
create
public static HttpClient create(URL url, int maxConnection, long connectionTimeoutInMillis, long readTimeoutInMillis, HttpSettings settings, Executor executor) throws UncheckedIOException - Parameters:
url
-maxConnection
-connectionTimeoutInMillis
-readTimeoutInMillis
-settings
-executor
-- Returns:
- Throws:
UncheckedIOException
- the unchecked IO exception
-
create
public static HttpClient create(URL url, int maxConnection, long connectionTimeoutInMillis, long readTimeoutInMillis, HttpSettings settings, AtomicInteger sharedActiveConnectionCounter, Executor executor) - Parameters:
url
-maxConnection
-connectionTimeoutInMillis
-readTimeoutInMillis
-settings
-sharedActiveConnectionCounter
-executor
-- Returns:
-
url
- Returns:
-
get
- Returns:
- Throws:
UncheckedIOException
- the unchecked IO exception
-
get
- Parameters:
settings
-- Returns:
- Throws:
UncheckedIOException
- the unchecked IO exception
-
get
- Parameters:
queryParameters
-- Returns:
- Throws:
UncheckedIOException
- the unchecked IO exception
-
get
- Parameters:
queryParameters
-settings
-- Returns:
- Throws:
UncheckedIOException
- the unchecked IO exception
-
get
- Type Parameters:
T
-- Parameters:
resultClass
-- Returns:
- Throws:
UncheckedIOException
- the unchecked IO exception
-
get
- Type Parameters:
T
-- Parameters:
resultClass
-settings
-- Returns:
- Throws:
UncheckedIOException
- the unchecked IO exception
-
get
- Type Parameters:
T
-- Parameters:
resultClass
-queryParameters
-- Returns:
- Throws:
UncheckedIOException
- the unchecked IO exception
-
get
public <T> T get(Class<T> resultClass, Object queryParameters, HttpSettings settings) throws UncheckedIOException - Type Parameters:
T
-- Parameters:
resultClass
-queryParameters
-settings
-- Returns:
- Throws:
UncheckedIOException
- the unchecked IO exception
-
delete
- Returns:
- Throws:
UncheckedIOException
- the unchecked IO exception
-
delete
- Parameters:
settings
-- Returns:
- Throws:
UncheckedIOException
- the unchecked IO exception
-
delete
- Parameters:
queryParameters
-- Returns:
- Throws:
UncheckedIOException
- the unchecked IO exception
-
delete
- Parameters:
queryParameters
-settings
-- Returns:
- Throws:
UncheckedIOException
- the unchecked IO exception
-
delete
- Type Parameters:
T
-- Parameters:
resultClass
-- Returns:
- Throws:
UncheckedIOException
- the unchecked IO exception
-
delete
- Type Parameters:
T
-- Parameters:
resultClass
-settings
-- Returns:
- Throws:
UncheckedIOException
- the unchecked IO exception
-
delete
- Type Parameters:
T
-- Parameters:
resultClass
-queryParameters
-- Returns:
- Throws:
UncheckedIOException
- the unchecked IO exception
-
delete
public <T> T delete(Class<T> resultClass, Object queryParameters, HttpSettings settings) throws UncheckedIOException - Type Parameters:
T
-- Parameters:
resultClass
-queryParameters
-settings
-- Returns:
- Throws:
UncheckedIOException
- the unchecked IO exception
-
post
- Parameters:
request
-- Returns:
- Throws:
UncheckedIOException
- the unchecked IO exception
-
post
- Parameters:
request
-settings
-- Returns:
- Throws:
UncheckedIOException
- the unchecked IO exception
-
post
- Type Parameters:
T
-- Parameters:
resultClass
-request
-- Returns:
- Throws:
UncheckedIOException
- the unchecked IO exception
-
post
public <T> T post(Class<T> resultClass, Object request, HttpSettings settings) throws UncheckedIOException - Type Parameters:
T
-- Parameters:
resultClass
-request
-settings
-- Returns:
- Throws:
UncheckedIOException
- the unchecked IO exception
-
put
- Parameters:
request
-- Returns:
- Throws:
UncheckedIOException
- the unchecked IO exception
-
put
- Parameters:
request
-settings
-- Returns:
- Throws:
UncheckedIOException
- the unchecked IO exception
-
put
- Type Parameters:
T
-- Parameters:
resultClass
-request
-- Returns:
- Throws:
UncheckedIOException
- the unchecked IO exception
-
put
public <T> T put(Class<T> resultClass, Object request, HttpSettings settings) throws UncheckedIOException - Type Parameters:
T
-- Parameters:
resultClass
-request
-settings
-- Returns:
- Throws:
UncheckedIOException
- the unchecked IO exception
-
execute
- Parameters:
httpMethod
-request
-- Returns:
- Throws:
UncheckedIOException
- the unchecked IO exception
-
head
- Throws:
UncheckedIOException
- the unchecked IO exception
-
head
- Parameters:
settings
-- Throws:
UncheckedIOException
- the unchecked IO exception
-
execute
public String execute(HttpMethod httpMethod, Object request, HttpSettings settings) throws UncheckedIOException - Parameters:
httpMethod
-request
-settings
-- Returns:
- Throws:
UncheckedIOException
- the unchecked IO exception
-
execute
public <T> T execute(HttpMethod httpMethod, Class<T> resultClass, Object request) throws UncheckedIOException - Type Parameters:
T
-- Parameters:
httpMethod
-resultClass
-request
-- Returns:
- Throws:
UncheckedIOException
- the unchecked IO exception
-
execute
public <T> T execute(HttpMethod httpMethod, Class<T> resultClass, Object request, HttpSettings settings) throws UncheckedIOException - Type Parameters:
T
-- Parameters:
httpMethod
-resultClass
-request
-settings
-- Returns:
- Throws:
UncheckedIOException
- the unchecked IO exception
-
execute
public void execute(HttpMethod httpMethod, File output, Object request, HttpSettings settings) throws UncheckedIOException - Parameters:
httpMethod
-output
-request
-settings
-- Throws:
UncheckedIOException
- the unchecked IO exception
-
execute
public void execute(HttpMethod httpMethod, OutputStream output, Object request, HttpSettings settings) throws UncheckedIOException - Parameters:
httpMethod
-output
-request
-settings
-- Throws:
UncheckedIOException
- the unchecked IO exception
-
execute
public void execute(HttpMethod httpMethod, Writer output, Object request, HttpSettings settings) throws UncheckedIOException - Parameters:
httpMethod
-output
-request
-settings
-- Throws:
UncheckedIOException
- the unchecked IO exception
-
openConnection
public HttpURLConnection openConnection(HttpMethod httpMethod, Class<?> resultClass, boolean doOutput, HttpSettings settings) throws UncheckedIOException - Parameters:
httpMethod
-resultClass
-doOutput
-settings
-- Returns:
- Throws:
UncheckedIOException
- the unchecked IO exception
-
openConnection
public HttpURLConnection openConnection(HttpMethod httpMethod, Class<?> resultClass, Object queryParameters, boolean doOutput, HttpSettings settings) throws UncheckedIOException - Parameters:
httpMethod
-resultClass
-queryParameters
-doOutput
-settings
-- Returns:
- Throws:
UncheckedIOException
- the unchecked IO exception
-
asyncGet
- Returns:
-
asyncGet
- Parameters:
settings
-- Returns:
-
asyncGet
- Parameters:
queryParameters
-- Returns:
-
asyncGet
- Parameters:
queryParameters
-settings
-- Returns:
-
asyncGet
- Type Parameters:
T
-- Parameters:
resultClass
-- Returns:
-
asyncGet
- Type Parameters:
T
-- Parameters:
resultClass
-settings
-- Returns:
-
asyncGet
- Type Parameters:
T
-- Parameters:
resultClass
-queryParameters
-- Returns:
-
asyncGet
public <T> ContinuableFuture<T> asyncGet(Class<T> resultClass, Object queryParameters, HttpSettings settings) - Type Parameters:
T
-- Parameters:
resultClass
-queryParameters
-settings
-- Returns:
-
asyncDelete
- Returns:
-
asyncDelete
- Parameters:
settings
-- Returns:
-
asyncDelete
- Parameters:
queryParameters
-- Returns:
-
asyncDelete
- Parameters:
queryParameters
-settings
-- Returns:
-
asyncDelete
- Type Parameters:
T
-- Parameters:
resultClass
-- Returns:
-
asyncDelete
- Type Parameters:
T
-- Parameters:
resultClass
-settings
-- Returns:
-
asyncDelete
- Type Parameters:
T
-- Parameters:
resultClass
-queryParameters
-- Returns:
-
asyncDelete
public <T> ContinuableFuture<T> asyncDelete(Class<T> resultClass, Object queryParameters, HttpSettings settings) - Type Parameters:
T
-- Parameters:
resultClass
-queryParameters
-settings
-- Returns:
-
asyncPost
- Parameters:
request
-- Returns:
-
asyncPost
- Parameters:
request
-settings
-- Returns:
-
asyncPost
- Type Parameters:
T
-- Parameters:
resultClass
-request
-- Returns:
-
asyncPost
public <T> ContinuableFuture<T> asyncPost(Class<T> resultClass, Object request, HttpSettings settings) - Type Parameters:
T
-- Parameters:
resultClass
-request
-settings
-- Returns:
-
asyncPut
- Parameters:
request
-- Returns:
-
asyncPut
- Parameters:
request
-settings
-- Returns:
-
asyncPut
- Type Parameters:
T
-- Parameters:
resultClass
-request
-- Returns:
-
asyncPut
public <T> ContinuableFuture<T> asyncPut(Class<T> resultClass, Object request, HttpSettings settings) - Type Parameters:
T
-- Parameters:
resultClass
-request
-settings
-- Returns:
-
asyncHead
- Returns:
-
asyncHead
- Parameters:
settings
-- Returns:
-
asyncExecute
- Parameters:
httpMethod
-request
-- Returns:
-
asyncExecute
public ContinuableFuture<String> asyncExecute(HttpMethod httpMethod, Object request, HttpSettings settings) - Parameters:
httpMethod
-request
-settings
-- Returns:
-
asyncExecute
public <T> ContinuableFuture<T> asyncExecute(HttpMethod httpMethod, Class<T> resultClass, Object request) - Type Parameters:
T
-- Parameters:
httpMethod
-resultClass
-request
-- Returns:
-
asyncExecute
public <T> ContinuableFuture<T> asyncExecute(HttpMethod httpMethod, Class<T> resultClass, Object request, HttpSettings settings) - Type Parameters:
T
-- Parameters:
httpMethod
-resultClass
-request
-settings
-- Returns:
-
asyncExecute
public ContinuableFuture<Void> asyncExecute(HttpMethod httpMethod, File output, Object request, HttpSettings settings) - Parameters:
httpMethod
-output
-request
-settings
-- Returns:
-
asyncExecute
public ContinuableFuture<Void> asyncExecute(HttpMethod httpMethod, OutputStream output, Object request, HttpSettings settings) - Parameters:
httpMethod
-output
-request
-settings
-- Returns:
-
asyncExecute
public ContinuableFuture<Void> asyncExecute(HttpMethod httpMethod, Writer output, Object request, HttpSettings settings) - Parameters:
httpMethod
-output
-request
-settings
-- Returns:
-
close
public void close()Close.
-