org.springframework.http.client
Class AbstractClientHttpRequest

java.lang.Object
  extended by org.springframework.http.client.AbstractClientHttpRequest
All Implemented Interfaces:
ClientHttpRequest, HttpMessage, HttpOutputMessage, HttpRequest

public abstract class AbstractClientHttpRequest
extends Object
implements ClientHttpRequest

Abstract base for ClientHttpRequest that makes sure that headers and body are not written multiple times.

Since:
3.0
Author:
Arjen Poutsma

Constructor Summary
AbstractClientHttpRequest()
           
 
Method Summary
 ClientHttpResponse execute()
          Execute this request, resulting in a ClientHttpResponse that can be read.
protected abstract  ClientHttpResponse executeInternal(HttpHeaders headers)
          Abstract template method that writes the given headers and content to the HTTP request.
 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.
 HttpHeaders getHeaders()
          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: HttpMessage
Return the headers of this message.

Specified by:
getHeaders in interface HttpMessage
Returns:
a corresponding HttpHeaders object

getBody

public final OutputStream getBody()
                           throws IOException
Description copied from interface: HttpOutputMessage
Return the body of the message as an output stream.

Specified by:
getBody in interface HttpOutputMessage
Returns:
the output stream body
Throws:
IOException - in case of I/O Errors

execute

public final ClientHttpResponse execute()
                                 throws IOException
Description copied from interface: ClientHttpRequest
Execute this request, resulting in a ClientHttpResponse that can be read.

Specified by:
execute in interface ClientHttpRequest
Returns:
the response result of the execution
Throws:
IOException - in case of I/O errors

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