org.zodiac.plugin.extension.resources.resolver.ResourceWebFluxConfigurer Maven / Gradle / Ivy
package org.zodiac.plugin.extension.resources.resolver;
import org.springframework.http.CacheControl;
import org.springframework.web.reactive.config.ResourceHandlerRegistration;
import org.springframework.web.reactive.config.ResourceHandlerRegistry;
import org.springframework.web.reactive.config.WebFluxConfigurer;
import org.zodiac.plugin.extension.resources.AbstractWebStaticResourceExtension;
/**
* 注册插件的WebFlux的配置。
*/
public class ResourceWebFluxConfigurer implements WebFluxConfigurer {
public ResourceWebFluxConfigurer() {
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
String pathPattern = "/" + AbstractWebStaticResourceExtension.getPluginStaticResourcePathPrefix() + "/**";
ResourceHandlerRegistration resourceHandlerRegistration = registry.addResourceHandler(pathPattern);
CacheControl cacheControl = AbstractWebStaticResourceExtension.getPluginStaticResourcesCacheControl();
if (cacheControl != null) {
resourceHandlerRegistration.setCacheControl(cacheControl);
} else {
resourceHandlerRegistration.setCacheControl(CacheControl.noStore());
}
resourceHandlerRegistration.resourceChain(false).addResolver(new PluginResourceWebFluxResolver());
}
}