|
|
|
|
@ -17,6 +17,7 @@
@@ -17,6 +17,7 @@
|
|
|
|
|
package org.springframework.boot.autoconfigure.web.reactive; |
|
|
|
|
|
|
|
|
|
import java.time.Duration; |
|
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
|
|
import org.apache.commons.logging.Log; |
|
|
|
|
import org.apache.commons.logging.LogFactory; |
|
|
|
|
@ -163,14 +164,14 @@ public class WebFluxAutoConfiguration {
@@ -163,14 +164,14 @@ public class WebFluxAutoConfiguration {
|
|
|
|
|
|
|
|
|
|
private final ObjectProvider<CodecCustomizer> codecCustomizers; |
|
|
|
|
|
|
|
|
|
private final ResourceHandlerRegistrationCustomizer resourceHandlerRegistrationCustomizer; |
|
|
|
|
private final ObjectProvider<ResourceHandlerRegistrationCustomizer> resourceHandlerRegistrationCustomizers; |
|
|
|
|
|
|
|
|
|
private final ObjectProvider<ViewResolver> viewResolvers; |
|
|
|
|
|
|
|
|
|
public WebFluxConfig(Environment environment, WebProperties webProperties, WebFluxProperties webFluxProperties, |
|
|
|
|
ListableBeanFactory beanFactory, ObjectProvider<HandlerMethodArgumentResolver> resolvers, |
|
|
|
|
ObjectProvider<CodecCustomizer> codecCustomizers, |
|
|
|
|
ObjectProvider<ResourceHandlerRegistrationCustomizer> resourceHandlerRegistrationCustomizer, |
|
|
|
|
ObjectProvider<ResourceHandlerRegistrationCustomizer> resourceHandlerRegistrationCustomizers, |
|
|
|
|
ObjectProvider<ViewResolver> viewResolvers) { |
|
|
|
|
this.environment = environment; |
|
|
|
|
this.resourceProperties = webProperties.getResources(); |
|
|
|
|
@ -178,7 +179,7 @@ public class WebFluxAutoConfiguration {
@@ -178,7 +179,7 @@ public class WebFluxAutoConfiguration {
|
|
|
|
|
this.beanFactory = beanFactory; |
|
|
|
|
this.argumentResolvers = resolvers; |
|
|
|
|
this.codecCustomizers = codecCustomizers; |
|
|
|
|
this.resourceHandlerRegistrationCustomizer = resourceHandlerRegistrationCustomizer.getIfAvailable(); |
|
|
|
|
this.resourceHandlerRegistrationCustomizers = resourceHandlerRegistrationCustomizers; |
|
|
|
|
this.viewResolvers = viewResolvers; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -210,19 +211,22 @@ public class WebFluxAutoConfiguration {
@@ -210,19 +211,22 @@ public class WebFluxAutoConfiguration {
|
|
|
|
|
logger.debug("Default resource handling disabled"); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
List<ResourceHandlerRegistrationCustomizer> resourceHandlerRegistrationCustomizers = this.resourceHandlerRegistrationCustomizers |
|
|
|
|
.orderedStream() |
|
|
|
|
.toList(); |
|
|
|
|
String webjarsPathPattern = this.webFluxProperties.getWebjarsPathPattern(); |
|
|
|
|
if (!registry.hasMappingForPattern(webjarsPathPattern)) { |
|
|
|
|
ResourceHandlerRegistration registration = registry.addResourceHandler(webjarsPathPattern) |
|
|
|
|
.addResourceLocations("classpath:/META-INF/resources/webjars/"); |
|
|
|
|
configureResourceCaching(registration); |
|
|
|
|
customizeResourceHandlerRegistration(registration); |
|
|
|
|
resourceHandlerRegistrationCustomizers.forEach((customizer) -> customizer.customize(registration)); |
|
|
|
|
} |
|
|
|
|
String staticPathPattern = this.webFluxProperties.getStaticPathPattern(); |
|
|
|
|
if (!registry.hasMappingForPattern(staticPathPattern)) { |
|
|
|
|
ResourceHandlerRegistration registration = registry.addResourceHandler(staticPathPattern) |
|
|
|
|
.addResourceLocations(this.resourceProperties.getStaticLocations()); |
|
|
|
|
configureResourceCaching(registration); |
|
|
|
|
customizeResourceHandlerRegistration(registration); |
|
|
|
|
resourceHandlerRegistrationCustomizers.forEach((customizer) -> customizer.customize(registration)); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -247,12 +251,6 @@ public class WebFluxAutoConfiguration {
@@ -247,12 +251,6 @@ public class WebFluxAutoConfiguration {
|
|
|
|
|
ApplicationConversionService.addBeans(registry, this.beanFactory); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void customizeResourceHandlerRegistration(ResourceHandlerRegistration registration) { |
|
|
|
|
if (this.resourceHandlerRegistrationCustomizer != null) { |
|
|
|
|
this.resourceHandlerRegistrationCustomizer.customize(registration); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|