Package org.springframework.http.client
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
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
Assert that this request has not been executed yet.final ClientHttpResponse
execute()
Execute this request, resulting in aClientHttpResponse
that can be read.protected abstract ClientHttpResponse
executeInternal
(HttpHeaders headers) Abstract template method that writes the given headers and content to the HTTP request.final OutputStream
getBody()
Return the body of the message as an output stream.protected abstract OutputStream
getBodyInternal
(HttpHeaders headers) Abstract template method that returns the body.final HttpHeaders
Return the headers of this message.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.http.HttpRequest
getMethod, getMethodValue, getURI
-
Constructor Details
-
AbstractClientHttpRequest
public AbstractClientHttpRequest()
-
-
Method Details
-
getHeaders
Description copied from interface:HttpMessage
Return the headers of this message.- Specified by:
getHeaders
in interfaceHttpMessage
- Returns:
- a corresponding HttpHeaders object (never
null
)
-
getBody
Description copied from interface:HttpOutputMessage
Return the body of the message as an output stream.- Specified by:
getBody
in interfaceHttpOutputMessage
- Returns:
- the output stream body (never
null
) - Throws:
IOException
- in case of I/O errors
-
execute
Description copied from interface:ClientHttpRequest
Execute this request, resulting in aClientHttpResponse
that can be read.- Specified by:
execute
in 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
-