Package org.springframework.http.client
Class BufferingClientHttpRequestFactory
- java.lang.Object
- org.springframework.http.client.AbstractClientHttpRequestFactoryWrapper
- org.springframework.http.client.BufferingClientHttpRequestFactory
- All Implemented Interfaces:
ClientHttpRequestFactory
public class BufferingClientHttpRequestFactory extends AbstractClientHttpRequestFactoryWrapper
Wrapper for aClientHttpRequestFactorythat buffers all outgoing and incoming streams in memory.Using this wrapper allows for multiple reads of the response body.
- Since:
- 3.1
- Author:
- Arjen Poutsma
Constructor Summary
Constructors Constructor Description BufferingClientHttpRequestFactory(ClientHttpRequestFactory requestFactory)Create a buffering wrapper for the givenClientHttpRequestFactory.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected ClientHttpRequestcreateRequest(URI uri, HttpMethod httpMethod, ClientHttpRequestFactory requestFactory)Create a newClientHttpRequestfor the specified URI and HTTP method by using the passed-on request factory.protected booleanshouldBuffer(URI uri, HttpMethod httpMethod)Indicates whether the request/response exchange for the given URI and method should be buffered in memory.Methods inherited from class org.springframework.http.client.AbstractClientHttpRequestFactoryWrapper
createRequest
Constructor Detail
BufferingClientHttpRequestFactory
public BufferingClientHttpRequestFactory(ClientHttpRequestFactory requestFactory)
Create a buffering wrapper for the givenClientHttpRequestFactory.- Parameters:
requestFactory- the target request factory to wrap
Method Detail
createRequest
protected ClientHttpRequest createRequest(URI uri, HttpMethod httpMethod, ClientHttpRequestFactory requestFactory) throws IOException
Description copied from class:AbstractClientHttpRequestFactoryWrapperCreate a newClientHttpRequestfor the specified URI and HTTP method by using the passed-on request factory.Called from
AbstractClientHttpRequestFactoryWrapper.createRequest(URI, HttpMethod).- Specified by:
createRequestin classAbstractClientHttpRequestFactoryWrapper- Parameters:
uri- the URI to create a request forhttpMethod- the HTTP method to executerequestFactory- the wrapped request factory- Returns:
- the created request
- Throws:
IOException- in case of I/O errors
shouldBuffer
protected boolean shouldBuffer(URI uri, HttpMethod httpMethod)
Indicates whether the request/response exchange for the given URI and method should be buffered in memory.The default implementation returns
truefor all URIs and methods. Subclasses can override this method to change this behavior.- Parameters:
uri- the URIhttpMethod- the method- Returns:
trueif the exchange should be buffered;falseotherwise