public class ResourceUrlProvider extends Object implements org.springframework.context.ApplicationListener<org.springframework.context.event.ContextRefreshedEvent>
This class is aware of Spring WebFlux handler mappings used to serve static
resources and uses the ResourceResolver
chains of the configured
ResourceHttpRequestHandler
s to make its decisions.
Constructor and Description |
---|
ResourceUrlProvider() |
Modifier and Type | Method and Description |
---|---|
reactor.core.publisher.Mono<String> |
getForUriString(String uriString,
org.springframework.web.server.ServerWebExchange exchange)
Get the public resource URL for the given URI string.
|
Map<org.springframework.web.util.pattern.PathPattern,ResourceWebHandler> |
getHandlerMap()
Return a read-only view of the resource handler mappings either manually
configured or auto-detected from Spring configuration.
|
void |
onApplicationEvent(org.springframework.context.event.ContextRefreshedEvent event) |
void |
registerHandlers(Map<String,ResourceWebHandler> handlerMap)
Manually configure resource handler mappings.
|
public Map<org.springframework.web.util.pattern.PathPattern,ResourceWebHandler> getHandlerMap()
public void registerHandlers(Map<String,ResourceWebHandler> handlerMap)
Note: by default resource mappings are auto-detected
from the Spring ApplicationContext
. If this property is used,
auto-detection is turned off.
public void onApplicationEvent(org.springframework.context.event.ContextRefreshedEvent event)
onApplicationEvent
in interface org.springframework.context.ApplicationListener<org.springframework.context.event.ContextRefreshedEvent>
public final reactor.core.publisher.Mono<String> getForUriString(String uriString, org.springframework.web.server.ServerWebExchange exchange)
The URI string is expected to be a path and if it contains a query or fragment those will be preserved in the resulting public resource URL.
uriString
- the URI string to transformexchange
- the current exchange