Package org.springframework.http.client
Interface ClientHttpRequestInterceptor
- All Known Implementing Classes:
 BasicAuthenticationInterceptor
- Functional Interface:
 - This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
 
Contract to intercept client-side HTTP requests. Implementations can be
 registered with 
RestClient or
 RestTemplate to modify the outgoing
 request and/or the incoming response.- Since:
 - 3.1
 - Author:
 - Arjen Poutsma
 
- 
Method Summary
Modifier and TypeMethodDescriptionintercept(HttpRequest request, byte[] body, ClientHttpRequestExecution execution) Intercept the given request, and return a response. 
- 
Method Details
- 
intercept
ClientHttpResponse intercept(HttpRequest request, byte[] body, ClientHttpRequestExecution execution) throws IOException Intercept the given request, and return a response. The givenClientHttpRequestExecutionallows 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:
- Examine the request and body.
 - Optionally wrap the request to filter HTTP attributes.
 - Optionally modify the body of the request.
 - either execute the request using
 
ClientHttpRequestExecution.execute(HttpRequest, byte[]) - or do not execute the request to block the execution altogether
 - Optionally wrap the response to filter HTTP attributes.
 
Note: if the interceptor throws an exception after receiving a response, it must close the response via
ClientHttpResponse.close().- Parameters:
 request- the request, containing method, URI, and headersbody- the body of the requestexecution- the request execution- Returns:
 - the response
 - Throws:
 IOException- in case of I/O errors
 
 -