public class

SimpleClientHttpRequestFactory

extends Object
implements ClientHttpRequestFactory
java.lang.Object
   ↳ org.springframework.http.client.SimpleClientHttpRequestFactory

Class Overview

ClientHttpRequestFactory implementation that uses standard J2SE facilities.

See Also

Summary

Public Constructors
SimpleClientHttpRequestFactory()
Public Methods
ClientHttpRequest createRequest(URI uri, HttpMethod httpMethod)
Create a new ClientHttpRequest for the specified URI and HTTP method.
void setBufferRequestBody(boolean bufferRequestBody)
Indicates whether this request factory should buffer the request body internally.
void setChunkSize(int chunkSize)
Sets the number of bytes to write in each chunk when not buffering request bodies locally.
void setProxy(Proxy proxy)
Sets the Proxy to use for this request factory.
Protected Methods
HttpURLConnection openConnection(URL url, Proxy proxy)
Opens and returns a connection to the given URL.
void prepareConnection(HttpURLConnection connection, String httpMethod)
Template method for preparing the given HttpURLConnection.
[Expand]
Inherited Methods
From class java.lang.Object
From interface org.springframework.http.client.ClientHttpRequestFactory

Public Constructors

public SimpleClientHttpRequestFactory ()

Public Methods

public ClientHttpRequest createRequest (URI uri, HttpMethod httpMethod)

Create a new ClientHttpRequest for the specified URI and HTTP method.

The returned request can be written to, and then executed by calling execute().

Parameters
uri the URI to create a request for
httpMethod the HTTP method to execute
Returns
  • the created request
Throws
IOException

public void setBufferRequestBody (boolean bufferRequestBody)

Indicates whether this request factory should buffer the request body internally.

Default is true. When sending large amounts of data via POST or PUT, it is recommended to change this property to false, so as not to run out of memory. This will result in a ClientHttpRequest that either streams directly to the underlying HttpURLConnection (if the Content-Length is known in advance), or that will use "Chunked transfer encoding" (if the Content-Length is not known in advance).

public void setChunkSize (int chunkSize)

Sets the number of bytes to write in each chunk when not buffering request bodies locally.

Note that this parameter is only used when bufferRequestBody is set to false, and the Content-Length is not known in advance.

public void setProxy (Proxy proxy)

Sets the Proxy to use for this request factory.

Protected Methods

protected HttpURLConnection openConnection (URL url, Proxy proxy)

Opens and returns a connection to the given URL.

The default implementation uses the given proxy - if any - to open a connection.

Parameters
url the URL to open a connection to
proxy the proxy to use, may be null
Returns
  • the opened connection
Throws
IOException in case of I/O errors

protected void prepareConnection (HttpURLConnection connection, String httpMethod)

Template method for preparing the given HttpURLConnection.

The default implementation prepares the connection for input and output, and sets the HTTP method.

Parameters
connection the connection to prepare
httpMethod the HTTP request method (GET, POST, etc.)
Throws
IOException in case of I/O errors