public class OkHttpClientHttpRequestFactory extends java.lang.Object implements ClientHttpRequestFactory, AsyncClientHttpRequestFactory, DisposableBean
ClientHttpRequestFactory
implementation that uses
OkHttp to create requests.Modifier and Type | Field and Description |
---|---|
private OkHttpClient |
client |
private boolean |
defaultClient |
Constructor and Description |
---|
OkHttpClientHttpRequestFactory()
Create a factory with a default
OkHttpClient instance. |
OkHttpClientHttpRequestFactory(OkHttpClient client)
Create a factory with the given
OkHttpClient instance. |
Modifier and Type | Method and Description |
---|---|
AsyncClientHttpRequest |
createAsyncRequest(java.net.URI uri,
HttpMethod httpMethod)
Create a new asynchronous
AsyncClientHttpRequest for the specified URI
and HTTP method. |
ClientHttpRequest |
createRequest(java.net.URI uri,
HttpMethod httpMethod)
Create a new
ClientHttpRequest for the specified URI and HTTP method. |
private OkHttpClientHttpRequest |
createRequestInternal(java.net.URI uri,
HttpMethod httpMethod) |
void |
destroy()
Invoked by a BeanFactory on destruction of a singleton.
|
void |
setConnectTimeout(int connectTimeout)
Sets the underlying connect timeout in milliseconds.
|
void |
setReadTimeout(int readTimeout)
Sets the underlying read timeout in milliseconds.
|
void |
setWriteTimeout(int writeTimeout)
Sets the underlying write timeout in milliseconds.
|
private final OkHttpClient client
private final boolean defaultClient
public OkHttpClientHttpRequestFactory()
OkHttpClient
instance.public OkHttpClientHttpRequestFactory(OkHttpClient client)
OkHttpClient
instance.client
- the client to usepublic void setReadTimeout(int readTimeout)
OkHttpClient#setReadTimeout(long, TimeUnit)
public void setWriteTimeout(int writeTimeout)
OkHttpClient#setWriteTimeout(long, TimeUnit)
public void setConnectTimeout(int connectTimeout)
OkHttpClient#setConnectTimeout(long, TimeUnit)
public ClientHttpRequest createRequest(java.net.URI uri, HttpMethod httpMethod)
ClientHttpRequestFactory
ClientHttpRequest
for the specified URI and HTTP method.
The returned request can be written to, and then executed by calling
ClientHttpRequest.execute()
.
createRequest
in interface ClientHttpRequestFactory
uri
- the URI to create a request forhttpMethod
- the HTTP method to executepublic AsyncClientHttpRequest createAsyncRequest(java.net.URI uri, HttpMethod httpMethod)
AsyncClientHttpRequestFactory
AsyncClientHttpRequest
for the specified URI
and HTTP method.
The returned request can be written to, and then executed by calling
AsyncClientHttpRequest.executeAsync()
.
createAsyncRequest
in interface AsyncClientHttpRequestFactory
uri
- the URI to create a request forhttpMethod
- the HTTP method to executeprivate OkHttpClientHttpRequest createRequestInternal(java.net.URI uri, HttpMethod httpMethod)
public void destroy() throws java.lang.Exception
DisposableBean
destroy
in interface DisposableBean
java.lang.Exception
- in case of shutdown errors.
Exceptions will get logged but not rethrown to allow
other beans to release their resources too.