sourceafBedSheet::ClientAssetProducer.fan


** Implement to create custom instances of 'ClientAsset'.
**  
** Producer instances should be contributed to the 'ClientAssetProducers' service:
**
**   syntax: fantom 
**   @Contribute { serviceType=ClientAssetProducers# }
**   Void contributeAssetProducers(Configuration config, MyAssetProducer assetProducer) {
**       config["acme.myAssetProducer"] = assetProducer
**   }
** 
** Asset caching strategies, like Cold Feet, use the 'ClientAssetProducers' service to modify the client URLs of 'ClientAssets'. 
mixin ClientAssetProducer {

    ** Creates a 'ClientAsset' from the given local URL.
    **  
    ** Implementors should return 'null' if the URL can not be mapped. 
    abstract ClientAsset? produceAsset(Uri localUrl)
    
}