Delete SecurityWebFilterChain in favor of DefaultWebFilterChain
Fixesh gh-4393
This commit is contained in:
parent
dbda7e35a4
commit
2deb1cda9f
|
@ -24,6 +24,8 @@ import org.springframework.web.server.ServerWebExchange;
|
||||||
import org.springframework.web.server.WebFilter;
|
import org.springframework.web.server.WebFilter;
|
||||||
import org.springframework.web.server.WebFilterChain;
|
import org.springframework.web.server.WebFilterChain;
|
||||||
|
|
||||||
|
import org.springframework.web.server.handler.DefaultWebFilterChain;
|
||||||
|
import org.springframework.web.server.handler.FilteringWebHandler;
|
||||||
import reactor.core.publisher.Mono;
|
import reactor.core.publisher.Mono;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -40,29 +42,7 @@ public class WebFilterChainFilter implements WebFilter {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Mono<Void> filter(ServerWebExchange exchange, WebFilterChain chain) {
|
public Mono<Void> filter(ServerWebExchange exchange, WebFilterChain chain) {
|
||||||
SecurityWebFilterChain delegate = new SecurityWebFilterChain(chain, filters.iterator());
|
DefaultWebFilterChain delegate = new DefaultWebFilterChain(new FilteringWebHandler(e -> chain.filter(e), filters));
|
||||||
return delegate.filter(exchange);
|
return delegate.filter(exchange);
|
||||||
}
|
}
|
||||||
|
|
||||||
static class SecurityWebFilterChain implements WebFilterChain {
|
|
||||||
private final WebFilterChain delegate;
|
|
||||||
private final Iterator<WebFilter> filters;
|
|
||||||
|
|
||||||
public SecurityWebFilterChain(WebFilterChain delegate, Iterator<WebFilter> filters) {
|
|
||||||
super();
|
|
||||||
this.delegate = delegate;
|
|
||||||
this.filters = filters;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Mono<Void> filter(ServerWebExchange exchange) {
|
|
||||||
if (filters.hasNext()) {
|
|
||||||
WebFilter filter = filters.next();
|
|
||||||
return filter.filter(exchange, this);
|
|
||||||
} else {
|
|
||||||
return delegate.filter(exchange);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue