Interface ExchangeFilterFunction
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
Represents a function that filters an exchange function.
The filter is executed when a Subscriber subscribes to the
Publisher returned by the WebClient.
- Since:
- 5.0
- Author:
- Arjen Poutsma
-
Method Summary
Modifier and TypeMethodDescriptiondefault ExchangeFilterFunctionandThen(ExchangeFilterFunction afterFilter) Return a composed filter function that first applies this filter and then applies the givenafterFilter.default ExchangeFunctionapply(ExchangeFunction exchange) Apply this filter to the given ExchangeFunction, resulting in a filtered exchange function.reactor.core.publisher.Mono<ClientResponse>filter(ClientRequest request, ExchangeFunction next) Apply this filter to the given request and exchange function.static ExchangeFilterFunctionofRequestProcessor(Function<ClientRequest, reactor.core.publisher.Mono<ClientRequest>> processor) Adapt the given request processor function to a filter function that only operates on theClientRequest.static ExchangeFilterFunctionofResponseProcessor(Function<ClientResponse, reactor.core.publisher.Mono<ClientResponse>> processor) Adapt the given response processor function to a filter function that only operates on theClientResponse.
-
Method Details
-
filter
Apply this filter to the given request and exchange function.The given
ExchangeFunctionrepresents the next entity in the chain, to be invoked viaExchangeFunction.exchange(org.springframework.web.reactive.function.client.ClientRequest)in order to proceed with the exchange, or not invoked to short-circuit the chain.Note: When a filter handles the response after the call to
ExchangeFunction.exchange(...), extra care must be taken to always consume its content or otherwise propagate it downstream for further handling, for example by theWebClient. Please see the reference documentation for more details on this.- Parameters:
request- the current requestnext- the next exchange function in the chain- Returns:
- the filtered response
-
andThen
Return a composed filter function that first applies this filter and then applies the givenafterFilter.- Parameters:
afterFilter- the filter to apply after this filter- Returns:
- the composed filter
-
apply
Apply this filter to the given ExchangeFunction, resulting in a filtered exchange function.- Parameters:
exchange- the exchange function to filter- Returns:
- the filtered exchange function
-
ofRequestProcessor
static ExchangeFilterFunction ofRequestProcessor(Function<ClientRequest, reactor.core.publisher.Mono<ClientRequest>> processor) Adapt the given request processor function to a filter function that only operates on theClientRequest.- Parameters:
processor- the request processor- Returns:
- the resulting filter adapter
-
ofResponseProcessor
static ExchangeFilterFunction ofResponseProcessor(Function<ClientResponse, reactor.core.publisher.Mono<ClientResponse>> processor) Adapt the given response processor function to a filter function that only operates on theClientResponse.- Parameters:
processor- the response processor- Returns:
- the resulting filter adapter
-