Class AbstractClientHttpRequest
java.lang.Object
org.springframework.http.client.AbstractClientHttpRequest
- All Implemented Interfaces:
ClientHttpRequest, HttpMessage, HttpOutputMessage, HttpRequest
Abstract base for
ClientHttpRequest that makes sure that headers
and body are not written multiple times.- Since:
- 3.0
- Author:
- Arjen Poutsma
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidAssert that this request has not been executed yet.final ClientHttpResponseexecute()Execute this request, resulting in aClientHttpResponsethat can be read.protected abstract ClientHttpResponseexecuteInternal(HttpHeaders headers) Abstract template method that writes the given headers and content to the HTTP request.Return a mutable map of request attributes for this request.final OutputStreamgetBody()Return the body of the message as an output stream.protected abstract OutputStreamgetBodyInternal(HttpHeaders headers) Abstract template method that returns the body.final HttpHeadersReturn the headers of this message.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface HttpRequest
getMethod, getURI
-
Constructor Details
-
AbstractClientHttpRequest
public AbstractClientHttpRequest()
-
-
Method Details
-
getHeaders
Description copied from interface:HttpMessageReturn the headers of this message.- Specified by:
getHeadersin interfaceHttpMessage- Returns:
- a corresponding HttpHeaders object (never
null)
-
getBody
Description copied from interface:HttpOutputMessageReturn the body of the message as an output stream.- Specified by:
getBodyin interfaceHttpOutputMessage- Returns:
- the output stream body (never
null) - Throws:
IOException- in case of I/O errors
-
getAttributes
Description copied from interface:HttpRequestReturn a mutable map of request attributes for this request.- Specified by:
getAttributesin interfaceHttpRequest
-
execute
Description copied from interface:ClientHttpRequestExecute this request, resulting in aClientHttpResponsethat can be read.- Specified by:
executein interfaceClientHttpRequest- Returns:
- the response result of the execution
- Throws:
IOException- in case of I/O errors
-
assertNotExecuted
protected void assertNotExecuted()Assert that this request has not been executed yet.- Throws:
IllegalStateException- if this request has been executed
-
getBodyInternal
Abstract template method that returns the body.- Parameters:
headers- the HTTP headers- Returns:
- the body output stream
- Throws:
IOException
-
executeInternal
Abstract template method that writes the given headers and content to the HTTP request.- Parameters:
headers- the HTTP headers- Returns:
- the response object for the executed request
- Throws:
IOException
-