sourceafReflux::UriResolver.fan


** Implement to resolve URIs to a 'Resource'.
** 
** 'UriResolver' implementations should be contributed to the 'UriResolvers' service:
** 
**   syntax: fantom
** 
**   @Contribute { serviceType=UriResolvers# }
**   internal static Void contributeUriResolvers(Configuration config) {
**       resolver := MyUriResolver()
**       config.add(resolver)
**   }
** 
** If your resolver requires dependencies to be injected then it should be *autobuilt*.
** It is also good practice to contribute the instance with an ID, so others may override it if they wish:
** 
**   syntax: fantom
** 
**   @Contribute { serviceType=UriResolvers# }
**   internal static Void contributeUriResolvers(Configuration config) {
**       resolver := config.autobuild(MyUriResolver#)
**       config["myResolver"] = resolver
**   }
** 
@Js
mixin UriResolver {
    
    ** Return 'null' if the URI is not applicable to this resolver.
    abstract Resource? resolve(Str uri)
}