public class BufferingClientHttpRequestFactory extends AbstractClientHttpRequestFactoryWrapper
ClientHttpRequestFactory that buffers
all outgoing and incoming streams in memory.
Using this wrapper allows for multiple reads of the response body.
| Constructor and Description |
|---|
BufferingClientHttpRequestFactory(ClientHttpRequestFactory requestFactory)
Create a buffering wrapper for the given
ClientHttpRequestFactory. |
| Modifier and Type | Method and Description |
|---|---|
protected ClientHttpRequest |
createRequest(URI uri,
HttpMethod httpMethod,
ClientHttpRequestFactory requestFactory)
Create a new
ClientHttpRequest for the specified URI and HTTP method
by using the passed-on request factory. |
protected boolean |
shouldBuffer(URI uri,
HttpMethod httpMethod)
Indicates whether the request/response exchange for the given URI and method
should be buffered in memory.
|
createRequestpublic BufferingClientHttpRequestFactory(ClientHttpRequestFactory requestFactory)
ClientHttpRequestFactory.requestFactory - the target request factory to wrapprotected ClientHttpRequest createRequest(URI uri, HttpMethod httpMethod, ClientHttpRequestFactory requestFactory) throws IOException
AbstractClientHttpRequestFactoryWrapperClientHttpRequest for the specified URI and HTTP method
by using the passed-on request factory.
Called from AbstractClientHttpRequestFactoryWrapper.createRequest(URI, HttpMethod).
createRequest in class AbstractClientHttpRequestFactoryWrapperuri - the URI to create a request forhttpMethod - the HTTP method to executerequestFactory - the wrapped request factoryIOException - in case of I/O errorsprotected boolean shouldBuffer(URI uri, HttpMethod httpMethod)
The default implementation returns true for all URIs and methods.
Subclasses can override this method to change this behavior.
uri - the URIhttpMethod - the methodtrue if the exchange should be buffered; false otherwise