public interface HttpFilter extends Ordered
A interface for classes that can intercept and filter HttpRequest
instances and can
either proceed with the request or return a modified result.
Implementations are passed a FilterChain
where the last entry in the chain in the action to be executed
that returns a Publisher
that emits an HttpResponse
Each filter implements Ordered
and can return an order to increase or decrease the priority of the filter
To modify the request filters can either wrap it (using HttpRequestWrapper
or pass it
along the chain as is
The response can be altered by returning an alternative Publisher
that emits a HttpResponse
or
by altering the publisher returned by FilterChain.proceed(HttpRequest)
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
Modifier and Type | Method and Description |
---|---|
Publisher<? extends HttpResponse<?>> |
doFilter(HttpRequest<?> request,
FilterChain chain)
Intercepts a
HttpRequest . |
Publisher<? extends HttpResponse<?>> doFilter(HttpRequest<?> request, FilterChain chain)
HttpRequest
.request
- The HttpRequest
instancechain
- The FilterChain
instancePublisher
for the Http response