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) |
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.
|
createRequest
public BufferingClientHttpRequestFactory(ClientHttpRequestFactory requestFactory)
protected ClientHttpRequest createRequest(URI uri, HttpMethod httpMethod, ClientHttpRequestFactory requestFactory) throws IOException
AbstractClientHttpRequestFactoryWrapper
ClientHttpRequest
for the specified URI and HTTP method
by using the passed-on request factory.
Called from AbstractClientHttpRequestFactoryWrapper.createRequest(URI, HttpMethod)
.
createRequest
in class AbstractClientHttpRequestFactoryWrapper
uri
- 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)
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