/// <summary> /// Attempt to get a specific configuration from the request url /// </summary> /// <param name="url"></param> /// <returns></returns> internal static EmbeddedResourceItem GetEmbeddedResourceItem(string url) { url = EmbeddedResourceService.EnsureUrlAppRelative(url); if (url != null) { return(EmbeddedResourceService.GetEmbeddedResourceItems().SingleOrDefault(x => x.ResourceUrl == url)); } return(null); }
/// <summary> /// The main startup method /// </summary> private void Startup() { foreach (var embeddedResourceItem in EmbeddedResourceService.GetEmbeddedResourceItems()) { // register with mvc RouteTable .Routes .MapRoute( name: "EmbeddedResource" + Guid.NewGuid().ToString(), url: embeddedResourceItem.ResourceUrl.TrimStart("~/"), // forward slash always expected defaults: new { controller = "EmbeddedResource", action = "GetEmbeddedResource", url = embeddedResourceItem.ResourceUrl }, namespaces: new[] { "Our.Umbraco.EmbeddedResource" }); // register with client depenedency FileWriters.AddWriterForFile(embeddedResourceItem.ResourceUrl.TrimStart('~'), new EmbeddedResourceVirtualFileWriter()); } }