Package org.springframework.http.client
Class AbstractClientHttpRequest
- java.lang.Object
- org.springframework.http.client.AbstractClientHttpRequest
- All Implemented Interfaces:
ClientHttpRequest,HttpMessage,HttpOutputMessage,HttpRequest
public abstract class AbstractClientHttpRequest extends Object implements ClientHttpRequest
Abstract base forClientHttpRequestthat makes sure that headers and body are not written multiple times.- Since:
- 3.0
- Author:
- Arjen Poutsma
Constructor Summary
Constructors Constructor Description AbstractClientHttpRequest()
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected voidassertNotExecuted()Assert that this request has not been executed yet.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.OutputStreamgetBody()Return the body of the message as an output stream.protected abstract OutputStreamgetBodyInternal(HttpHeaders headers)Abstract template method that returns the body.HttpHeadersgetHeaders()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, getURI
Constructor Detail
AbstractClientHttpRequest
public AbstractClientHttpRequest()
Method Detail
getHeaders
public final HttpHeaders getHeaders()
Description copied from interface:HttpMessageReturn the headers of this message.- Specified by:
getHeadersin interfaceHttpMessage- Returns:
- a corresponding HttpHeaders object (never
null)
getBody
public final OutputStream getBody() throws IOException
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
execute
public final ClientHttpResponse execute() throws IOException
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
protected abstract OutputStream getBodyInternal(HttpHeaders headers) throws IOException
Abstract template method that returns the body.- Parameters:
headers- the HTTP headers- Returns:
- the body output stream
- Throws:
IOException
executeInternal
protected abstract ClientHttpResponse executeInternal(HttpHeaders headers) throws IOException
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