1717package org .springframework .boot .autoconfigure .web .reactive ;
1818
1919import java .time .Duration ;
20+ import java .util .List ;
2021
2122import org .apache .commons .logging .Log ;
2223import org .apache .commons .logging .LogFactory ;
@@ -163,22 +164,22 @@ public static class WebFluxConfig implements WebFluxConfigurer {
163164
164165 private final ObjectProvider <CodecCustomizer > codecCustomizers ;
165166
166- private final ResourceHandlerRegistrationCustomizer resourceHandlerRegistrationCustomizer ;
167+ private final ObjectProvider < ResourceHandlerRegistrationCustomizer > resourceHandlerRegistrationCustomizers ;
167168
168169 private final ObjectProvider <ViewResolver > viewResolvers ;
169170
170171 public WebFluxConfig (Environment environment , WebProperties webProperties , WebFluxProperties webFluxProperties ,
171172 ListableBeanFactory beanFactory , ObjectProvider <HandlerMethodArgumentResolver > resolvers ,
172173 ObjectProvider <CodecCustomizer > codecCustomizers ,
173- ObjectProvider <ResourceHandlerRegistrationCustomizer > resourceHandlerRegistrationCustomizer ,
174+ ObjectProvider <ResourceHandlerRegistrationCustomizer > resourceHandlerRegistrationCustomizers ,
174175 ObjectProvider <ViewResolver > viewResolvers ) {
175176 this .environment = environment ;
176177 this .resourceProperties = webProperties .getResources ();
177178 this .webFluxProperties = webFluxProperties ;
178179 this .beanFactory = beanFactory ;
179180 this .argumentResolvers = resolvers ;
180181 this .codecCustomizers = codecCustomizers ;
181- this .resourceHandlerRegistrationCustomizer = resourceHandlerRegistrationCustomizer . getIfAvailable () ;
182+ this .resourceHandlerRegistrationCustomizers = resourceHandlerRegistrationCustomizers ;
182183 this .viewResolvers = viewResolvers ;
183184 }
184185
@@ -210,19 +211,22 @@ public void addResourceHandlers(ResourceHandlerRegistry registry) {
210211 logger .debug ("Default resource handling disabled" );
211212 return ;
212213 }
214+ List <ResourceHandlerRegistrationCustomizer > resourceHandlerRegistrationCustomizers = this .resourceHandlerRegistrationCustomizers
215+ .orderedStream ()
216+ .toList ();
213217 String webjarsPathPattern = this .webFluxProperties .getWebjarsPathPattern ();
214218 if (!registry .hasMappingForPattern (webjarsPathPattern )) {
215219 ResourceHandlerRegistration registration = registry .addResourceHandler (webjarsPathPattern )
216220 .addResourceLocations ("classpath:/META-INF/resources/webjars/" );
217221 configureResourceCaching (registration );
218- customizeResourceHandlerRegistration ( registration );
222+ resourceHandlerRegistrationCustomizers . forEach (( customizer ) -> customizer . customize ( registration ) );
219223 }
220224 String staticPathPattern = this .webFluxProperties .getStaticPathPattern ();
221225 if (!registry .hasMappingForPattern (staticPathPattern )) {
222226 ResourceHandlerRegistration registration = registry .addResourceHandler (staticPathPattern )
223227 .addResourceLocations (this .resourceProperties .getStaticLocations ());
224228 configureResourceCaching (registration );
225- customizeResourceHandlerRegistration ( registration );
229+ resourceHandlerRegistrationCustomizers . forEach (( customizer ) -> customizer . customize ( registration ) );
226230 }
227231 }
228232
@@ -247,12 +251,6 @@ public void addFormatters(FormatterRegistry registry) {
247251 ApplicationConversionService .addBeans (registry , this .beanFactory );
248252 }
249253
250- private void customizeResourceHandlerRegistration (ResourceHandlerRegistration registration ) {
251- if (this .resourceHandlerRegistrationCustomizer != null ) {
252- this .resourceHandlerRegistrationCustomizer .customize (registration );
253- }
254- }
255-
256254 }
257255
258256 /**
0 commit comments