org.springframework.http.client
Interface ClientHttpRequestInterceptor


public interface ClientHttpRequestInterceptor

Intercepts client-side HTTP requests. Implementations of this interface can be registered with the RestTemplate, as to modify the outgoing ClientHttpRequest and/or the incoming ClientHttpResponse.

The main entry point for interceptors is intercept(HttpRequest, byte[], ClientHttpRequestExecution).

Since:
3.1
Author:
Arjen Poutsma

Method Summary
 ClientHttpResponse intercept(HttpRequest request, byte[] body, ClientHttpRequestExecution execution)
          Intercept the given request, and return a response.
 

Method Detail

intercept

ClientHttpResponse intercept(HttpRequest request,
                             byte[] body,
                             ClientHttpRequestExecution execution)
                             throws IOException
Intercept the given request, and return a response. The given ClientHttpRequestExecution allows the interceptor to pass on the request and response to the next entity in the chain.

A typical implementation of this method would follow the following pattern:

  1. Examine the request and body
  2. Optionally wrap the request to filter HTTP attributes.
  3. Optionally modify the body of the request.
  4. Either
  5. Optionally wrap the response to filter HTTP attributes.

Parameters:
request - the request, containing method, URI, and headers
body - the body of the request
execution - the request execution
Returns:
the response
Throws:
IOException - in case of I/O errors