Package org.springframework.http.client
Class OkHttp3ClientHttpRequestFactory
- java.lang.Object
- org.springframework.http.client.OkHttp3ClientHttpRequestFactory
- All Implemented Interfaces:
DisposableBean,AsyncClientHttpRequestFactory,ClientHttpRequestFactory
public class OkHttp3ClientHttpRequestFactory extends Object implements ClientHttpRequestFactory, AsyncClientHttpRequestFactory, DisposableBean
ClientHttpRequestFactoryimplementation that uses OkHttp 3.x to create requests.- Since:
- 4.3
- Author:
- Luciano Leggieri, Arjen Poutsma, Roy Clarkson
Constructor Summary
Constructors Constructor Description OkHttp3ClientHttpRequestFactory()Create a factory with a defaultOkHttpClientinstance.OkHttp3ClientHttpRequestFactory(okhttp3.OkHttpClient client)Create a factory with the givenOkHttpClientinstance.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AsyncClientHttpRequestcreateAsyncRequest(URI uri, HttpMethod httpMethod)Create a new asynchronousAsyncClientHttpRequestfor the specified URI and HTTP method.ClientHttpRequestcreateRequest(URI uri, HttpMethod httpMethod)Create a newClientHttpRequestfor the specified URI and HTTP method.voiddestroy()Invoked by the containingBeanFactoryon destruction of a bean.voidsetConnectTimeout(int connectTimeout)Sets the underlying connect timeout in milliseconds.voidsetReadTimeout(int readTimeout)Sets the underlying read timeout in milliseconds.voidsetWriteTimeout(int writeTimeout)Sets the underlying write timeout in milliseconds.
Constructor Detail
OkHttp3ClientHttpRequestFactory
public OkHttp3ClientHttpRequestFactory()
Create a factory with a defaultOkHttpClientinstance.
OkHttp3ClientHttpRequestFactory
public OkHttp3ClientHttpRequestFactory(okhttp3.OkHttpClient client)
Create a factory with the givenOkHttpClientinstance.- Parameters:
client- the client to use
Method Detail
setReadTimeout
public void setReadTimeout(int readTimeout)
Sets the underlying read timeout in milliseconds. A value of 0 specifies an infinite timeout.- See Also:
OkHttpClient.Builder.readTimeout(long, TimeUnit)
setWriteTimeout
public void setWriteTimeout(int writeTimeout)
Sets the underlying write timeout in milliseconds. A value of 0 specifies an infinite timeout.- See Also:
OkHttpClient.Builder.writeTimeout(long, TimeUnit)
setConnectTimeout
public void setConnectTimeout(int connectTimeout)
Sets the underlying connect timeout in milliseconds. A value of 0 specifies an infinite timeout.- See Also:
OkHttpClient.Builder.connectTimeout(long, TimeUnit)
createRequest
public ClientHttpRequest createRequest(URI uri, HttpMethod httpMethod)
Description copied from interface:ClientHttpRequestFactoryCreate a newClientHttpRequestfor the specified URI and HTTP method.The returned request can be written to, and then executed by calling
ClientHttpRequest.execute().- Specified by:
createRequestin interfaceClientHttpRequestFactory- Parameters:
uri- the URI to create a request forhttpMethod- the HTTP method to execute- Returns:
- the created request
createAsyncRequest
public AsyncClientHttpRequest createAsyncRequest(URI uri, HttpMethod httpMethod)
Description copied from interface:AsyncClientHttpRequestFactoryCreate a new asynchronousAsyncClientHttpRequestfor the specified URI and HTTP method.The returned request can be written to, and then executed by calling
AsyncClientHttpRequest.executeAsync().- Specified by:
createAsyncRequestin interfaceAsyncClientHttpRequestFactory- Parameters:
uri- the URI to create a request forhttpMethod- the HTTP method to execute- Returns:
- the created request
destroy
public void destroy() throws IOException
Description copied from interface:DisposableBeanInvoked by the containingBeanFactoryon destruction of a bean.- Specified by:
destroyin interfaceDisposableBean- Throws:
IOException