org.springframework.web.client

## Interface RequestCallback

    public interface RequestCallback

Callback interface for code that operates on a `ClientHttpRequest`. Allows to manipulate the request headers, and write to the request body.

Used internally by the `RestTemplate`, but also useful for application code.

Since:
  3.0
Author:
  Arjen Poutsma
See Also:
  `RestTemplate.execute(java.lang.String, org.springframework.http.HttpMethod, org.springframework.web.client.RequestCallback, org.springframework.web.client.ResponseExtractor<T>, java.lang.Object...)`

### Method Summary

Methods
`void` `doWithRequest(ClientHttpRequest request)` Gets called by `RestTemplate.execute(java.lang.String, org.springframework.http.HttpMethod, org.springframework.web.client.RequestCallback, org.springframework.web.client.ResponseExtractor<T>, java.lang.Object...)` with an opened `ClientHttpRequest`.

### Method Detail

#### doWithRequest

    void doWithRequest(ClientHttpRequest request)
                       throws IOException

Gets called by `RestTemplate.execute(java.lang.String, org.springframework.http.HttpMethod, org.springframework.web.client.RequestCallback, org.springframework.web.client.ResponseExtractor<T>, java.lang.Object...)` with an opened `ClientHttpRequest`. Does not need to care about closing the request or about handling errors: this will all be handled by the `RestTemplate`.

Parameters:
  `request` - the active HTTP request
Throws:
  `IOException` - in case of I/O errors