Skip to content

Commit 2f2fd98

Browse files
committed
Finalized callback of WebMvcResourceHandlerRegistryCustomizer
1 parent 40ec913 commit 2f2fd98

1 file changed

Lines changed: 13 additions & 1 deletion

File tree

module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/autoconfigure/WebMvcAutoConfiguration.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,8 @@ static class WebMvcAutoConfigurationAdapter implements WebMvcConfigurer, Servlet
221221

222222
private final ObjectProvider<ApiVersionDeprecationHandler> apiVersionDeprecationHandler;
223223

224+
private final ObjectProvider<WebMvcResourceHandlerRegistryCustomizer> webMvcResourceHandlerRegistryCustomizer;
225+
224226
WebMvcAutoConfigurationAdapter(WebProperties webProperties, WebMvcProperties mvcProperties,
225227
ListableBeanFactory beanFactory,
226228
ObjectProvider<ServerHttpMessageConvertersCustomizer> httpMessageConvertersCustomizerProvider,
@@ -229,7 +231,8 @@ static class WebMvcAutoConfigurationAdapter implements WebMvcConfigurer, Servlet
229231
ObjectProvider<ServletRegistrationBean<?>> servletRegistrations,
230232
ObjectProvider<ApiVersionResolver> apiVersionResolvers,
231233
ObjectProvider<ApiVersionParser<?>> apiVersionParser,
232-
ObjectProvider<ApiVersionDeprecationHandler> apiVersionDeprecationHandler) {
234+
ObjectProvider<ApiVersionDeprecationHandler> apiVersionDeprecationHandler,
235+
ObjectProvider<WebMvcResourceHandlerRegistryCustomizer> webMvcResourceHandlerRegistryCustomizer) {
233236
this.resourceProperties = webProperties.getResources();
234237
this.mvcProperties = mvcProperties;
235238
this.beanFactory = beanFactory;
@@ -240,6 +243,7 @@ static class WebMvcAutoConfigurationAdapter implements WebMvcConfigurer, Servlet
240243
this.apiVersionResolvers = apiVersionResolvers;
241244
this.apiVersionParser = apiVersionParser;
242245
this.apiVersionDeprecationHandler = apiVersionDeprecationHandler;
246+
this.webMvcResourceHandlerRegistryCustomizer = webMvcResourceHandlerRegistryCustomizer;
243247
}
244248

245249
@Override
@@ -358,6 +362,8 @@ public void addResourceHandlers(ResourceHandlerRegistry registry) {
358362
logger.debug("Default resource handling disabled");
359363
return;
360364
}
365+
customizeResourceHandlerRegistry(registry);
366+
361367
addResourceHandler(registry, this.mvcProperties.getWebjarsPathPattern(),
362368
"classpath:/META-INF/resources/webjars/");
363369
addResourceHandler(registry, this.mvcProperties.getStaticPathPattern(), (registration) -> {
@@ -392,6 +398,12 @@ private void addResourceHandler(ResourceHandlerRegistry registry, String pattern
392398
customizeResourceHandlerRegistration(registration);
393399
}
394400

401+
private void customizeResourceHandlerRegistry(ResourceHandlerRegistry registry) {
402+
this.webMvcResourceHandlerRegistryCustomizer
403+
.orderedStream()
404+
.forEach(customizer -> customizer.customize(registry));
405+
}
406+
395407
@Contract("!null -> !null")
396408
private @Nullable Integer getSeconds(@Nullable Duration cachePeriod) {
397409
return (cachePeriod != null) ? (int) cachePeriod.getSeconds() : null;

0 commit comments

Comments
 (0)