17
17
package org .springframework .boot .autoconfigure .web .reactive ;
18
18
19
19
import java .time .Duration ;
20
+ import java .util .List ;
20
21
21
22
import org .apache .commons .logging .Log ;
22
23
import org .apache .commons .logging .LogFactory ;
@@ -163,22 +164,22 @@ public static class WebFluxConfig implements WebFluxConfigurer {
163
164
164
165
private final ObjectProvider <CodecCustomizer > codecCustomizers ;
165
166
166
- private final ResourceHandlerRegistrationCustomizer resourceHandlerRegistrationCustomizer ;
167
+ private final ObjectProvider < ResourceHandlerRegistrationCustomizer > resourceHandlerRegistrationCustomizers ;
167
168
168
169
private final ObjectProvider <ViewResolver > viewResolvers ;
169
170
170
171
public WebFluxConfig (Environment environment , WebProperties webProperties , WebFluxProperties webFluxProperties ,
171
172
ListableBeanFactory beanFactory , ObjectProvider <HandlerMethodArgumentResolver > resolvers ,
172
173
ObjectProvider <CodecCustomizer > codecCustomizers ,
173
- ObjectProvider <ResourceHandlerRegistrationCustomizer > resourceHandlerRegistrationCustomizer ,
174
+ ObjectProvider <ResourceHandlerRegistrationCustomizer > resourceHandlerRegistrationCustomizers ,
174
175
ObjectProvider <ViewResolver > viewResolvers ) {
175
176
this .environment = environment ;
176
177
this .resourceProperties = webProperties .getResources ();
177
178
this .webFluxProperties = webFluxProperties ;
178
179
this .beanFactory = beanFactory ;
179
180
this .argumentResolvers = resolvers ;
180
181
this .codecCustomizers = codecCustomizers ;
181
- this .resourceHandlerRegistrationCustomizer = resourceHandlerRegistrationCustomizer . getIfAvailable () ;
182
+ this .resourceHandlerRegistrationCustomizers = resourceHandlerRegistrationCustomizers ;
182
183
this .viewResolvers = viewResolvers ;
183
184
}
184
185
@@ -210,19 +211,22 @@ public void addResourceHandlers(ResourceHandlerRegistry registry) {
210
211
logger .debug ("Default resource handling disabled" );
211
212
return ;
212
213
}
214
+ List <ResourceHandlerRegistrationCustomizer > resourceHandlerRegistrationCustomizers = this .resourceHandlerRegistrationCustomizers
215
+ .orderedStream ()
216
+ .toList ();
213
217
String webjarsPathPattern = this .webFluxProperties .getWebjarsPathPattern ();
214
218
if (!registry .hasMappingForPattern (webjarsPathPattern )) {
215
219
ResourceHandlerRegistration registration = registry .addResourceHandler (webjarsPathPattern )
216
220
.addResourceLocations ("classpath:/META-INF/resources/webjars/" );
217
221
configureResourceCaching (registration );
218
- customizeResourceHandlerRegistration ( registration );
222
+ resourceHandlerRegistrationCustomizers . forEach (( customizer ) -> customizer . customize ( registration ) );
219
223
}
220
224
String staticPathPattern = this .webFluxProperties .getStaticPathPattern ();
221
225
if (!registry .hasMappingForPattern (staticPathPattern )) {
222
226
ResourceHandlerRegistration registration = registry .addResourceHandler (staticPathPattern )
223
227
.addResourceLocations (this .resourceProperties .getStaticLocations ());
224
228
configureResourceCaching (registration );
225
- customizeResourceHandlerRegistration ( registration );
229
+ resourceHandlerRegistrationCustomizers . forEach (( customizer ) -> customizer . customize ( registration ) );
226
230
}
227
231
}
228
232
@@ -247,12 +251,6 @@ public void addFormatters(FormatterRegistry registry) {
247
251
ApplicationConversionService .addBeans (registry , this .beanFactory );
248
252
}
249
253
250
- private void customizeResourceHandlerRegistration (ResourceHandlerRegistration registration ) {
251
- if (this .resourceHandlerRegistrationCustomizer != null ) {
252
- this .resourceHandlerRegistrationCustomizer .customize (registration );
253
- }
254
- }
255
-
256
254
}
257
255
258
256
/**
0 commit comments