public static ModularApplicationBuilder UseStaticFilesModules(this ModularApplicationBuilder modularApp) { modularApp.Configure(app => { var extensionManager = app.ApplicationServices.GetRequiredService <IExtensionManager>(); var env = app.ApplicationServices.GetRequiredService <IHostingEnvironment>(); // TODO: configure the location and parameters (max-age) per module. var availableExtensions = extensionManager.GetExtensions(); foreach (var extension in availableExtensions) { var contentPath = extension.ExtensionFileInfo.PhysicalPath != null ? Path.Combine(extension.ExtensionFileInfo.PhysicalPath, "Content") : null; var contentSubPath = Path.Combine(extension.SubPath, "Content"); if (env.ContentRootFileProvider.GetDirectoryContents(contentSubPath).Exists) { IFileProvider fileProvider; if (env.IsDevelopment()) { var fileProviders = new List <IFileProvider>(); fileProviders.Add(new ModuleProjectContentFileProvider(env, contentSubPath)); if (contentPath != null) { fileProviders.Add(new PhysicalFileProvider(contentPath)); } else { fileProviders.Add(new ModuleEmbeddedFileProvider(env, contentSubPath)); } fileProvider = new CompositeFileProvider(fileProviders); } else { if (contentPath != null) { fileProvider = new PhysicalFileProvider(contentPath); } else { fileProvider = new ModuleEmbeddedFileProvider(env, contentSubPath); } } app.UseStaticFiles(new StaticFileOptions { RequestPath = "/" + extension.Id, FileProvider = fileProvider }); } } }); return(modularApp); }
public static IApplicationBuilder UseOrchardCore(this IApplicationBuilder app, Action <IApplicationBuilder> configure = null) { V_0 = ServiceProviderServiceExtensions.GetRequiredService <IHostEnvironment>(app.get_ApplicationServices()); V_1 = ServiceProviderServiceExtensions.GetRequiredService <IApplicationContext>(app.get_ApplicationServices()); stackVariable8 = new IFileProvider[2]; stackVariable8[0] = new ModuleEmbeddedFileProvider(V_1); stackVariable8[1] = V_0.get_ContentRootFileProvider(); V_0.set_ContentRootFileProvider(new CompositeFileProvider(stackVariable8)); ServiceProviderServiceExtensions.GetRequiredService <IWebHostEnvironment>(app.get_ApplicationServices()).set_ContentRootFileProvider(V_0.get_ContentRootFileProvider()); dummyVar0 = UseMiddlewareExtensions.UseMiddleware <PoweredByMiddleware>(app, Array.Empty <object>()); dummyVar1 = UseMiddlewareExtensions.UseMiddleware <ModularTenantContainerMiddleware>(app, Array.Empty <object>()); if (configure != null) { configure.Invoke(app); } stackVariable30 = new object[1]; stackVariable30[0] = app.get_ServerFeatures(); dummyVar2 = UseMiddlewareExtensions.UseMiddleware <ModularTenantRouterMiddleware>(app, stackVariable30); return(app); }