commit
b03f1e47d0
|
@ -21,6 +21,7 @@ import java.util.Arrays;
|
|||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import org.springframework.beans.BeansException;
|
||||
import org.springframework.beans.factory.ObjectProvider;
|
||||
|
@ -63,6 +64,7 @@ import org.springframework.security.web.server.MatcherSecurityWebFilterChain;
|
|||
import org.springframework.security.web.server.WebFilterChainProxy;
|
||||
import org.springframework.security.web.server.util.matcher.ServerWebExchangeMatcher;
|
||||
import org.springframework.security.web.server.util.matcher.ServerWebExchangeMatchers;
|
||||
import org.springframework.util.function.SingletonSupplier;
|
||||
import org.springframework.web.cors.CorsConfiguration;
|
||||
import org.springframework.web.reactive.function.client.WebClient;
|
||||
import org.springframework.web.server.WebFilter;
|
||||
|
@ -154,8 +156,8 @@ public class ReactiveCloudFoundryActuatorAutoConfiguration {
|
|||
static class IgnoredPathsSecurityConfiguration {
|
||||
|
||||
@Bean
|
||||
WebFilterChainPostProcessor webFilterChainPostProcessor(
|
||||
CloudFoundryWebFluxEndpointHandlerMapping handlerMapping) {
|
||||
static WebFilterChainPostProcessor webFilterChainPostProcessor(
|
||||
ObjectProvider<CloudFoundryWebFluxEndpointHandlerMapping> handlerMapping) {
|
||||
return new WebFilterChainPostProcessor(handlerMapping);
|
||||
}
|
||||
|
||||
|
@ -163,16 +165,17 @@ public class ReactiveCloudFoundryActuatorAutoConfiguration {
|
|||
|
||||
static class WebFilterChainPostProcessor implements BeanPostProcessor {
|
||||
|
||||
private final PathMappedEndpoints pathMappedEndpoints;
|
||||
private Supplier<PathMappedEndpoints> pathMappedEndpoints;
|
||||
|
||||
WebFilterChainPostProcessor(CloudFoundryWebFluxEndpointHandlerMapping handlerMapping) {
|
||||
this.pathMappedEndpoints = new PathMappedEndpoints(BASE_PATH, handlerMapping::getAllEndpoints);
|
||||
WebFilterChainPostProcessor(ObjectProvider<CloudFoundryWebFluxEndpointHandlerMapping> handlerMapping) {
|
||||
this.pathMappedEndpoints = SingletonSupplier
|
||||
.of(() -> new PathMappedEndpoints(BASE_PATH, () -> handlerMapping.getObject().getAllEndpoints()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
|
||||
if (bean instanceof WebFilterChainProxy webFilterChainProxy) {
|
||||
return postProcess(webFilterChainProxy, this.pathMappedEndpoints);
|
||||
return postProcess(webFilterChainProxy, this.pathMappedEndpoints.get());
|
||||
}
|
||||
return bean;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue