public override void Configure()

in src/OrchardCore.Modules/OrchardCore.Media/Startup.cs [164:295]


        public override void Configure(IApplicationBuilder app, IEndpointRouteBuilder routes, IServiceProvider serviceProvider)
        {
            var mediaFileProvider = serviceProvider.GetRequiredService<IMediaFileProvider>();
            var mediaOptions = serviceProvider.GetRequiredService<IOptions<MediaOptions>>().Value;
            var mediaFileStoreCache = serviceProvider.GetService<IMediaFileStoreCache>();

            // FileStore middleware before ImageSharp, but only if a remote storage module has registered a cache provider.
            if (mediaFileStoreCache != null)
            {
                app.UseMiddleware<MediaFileStoreResolverMiddleware>();
            }

            // ImageSharp before the static file provider.
            app.UseImageSharp();

            // Use the same cache control header as ImageSharp does for resized images.
            var cacheControl = "public, must-revalidate, max-age=" + TimeSpan.FromDays(mediaOptions.MaxBrowserCacheDays).TotalSeconds.ToString();

            app.UseStaticFiles(new StaticFileOptions
            {
                // The tenant's prefix is already implied by the infrastructure.
                RequestPath = mediaOptions.AssetsRequestPath,
                FileProvider = mediaFileProvider,
                ServeUnknownFileTypes = true,
                OnPrepareResponse = ctx =>
                {
                    ctx.Context.Response.Headers[HeaderNames.CacheControl] = cacheControl;
                }
            });

            var adminControllerName = typeof(AdminController).ControllerName();

            routes.MapAreaControllerRoute(
                name: "Media.Index",
                areaName: "OrchardCore.Media",
                pattern: _adminOptions.AdminUrlPrefix + "/Media",
                defaults: new { controller = adminControllerName, action = nameof(AdminController.Index) }
            );

            routes.MapAreaControllerRoute(
                name: "Media.MediaApplication",
                areaName: "OrchardCore.Media",
                pattern: _adminOptions.AdminUrlPrefix + "/Media/MediaApplication",
                defaults: new { controller = adminControllerName, action = nameof(AdminController.MediaApplication) }
            );

            routes.MapAreaControllerRoute(
                name: "Media.GetFolders",
                areaName: "OrchardCore.Media",
                pattern: _adminOptions.AdminUrlPrefix + "/Media/GetFolders",
                defaults: new { controller = adminControllerName, action = nameof(AdminController.GetFolders) }
            );

            routes.MapAreaControllerRoute(
                name: "Media.GetMediaItems",
                areaName: "OrchardCore.Media",
                pattern: _adminOptions.AdminUrlPrefix + "/Media/GetMediaItems",
                defaults: new { controller = adminControllerName, action = nameof(AdminController.GetMediaItems) }
            );

            routes.MapAreaControllerRoute(
                name: "Media.GetMediaItem",
                areaName: "OrchardCore.Media",
                pattern: _adminOptions.AdminUrlPrefix + "/Media/GetMediaItem",
                defaults: new { controller = adminControllerName, action = nameof(AdminController.GetMediaItem) }
            );

            routes.MapAreaControllerRoute(
                name: "Media.Upload",
                areaName: "OrchardCore.Media",
                pattern: _adminOptions.AdminUrlPrefix + "/Media/Upload",
                defaults: new { controller = adminControllerName, action = nameof(AdminController.Upload) }
            );

            routes.MapAreaControllerRoute(
                name: "Media.DeleteFolder",
                areaName: "OrchardCore.Media",
                pattern: _adminOptions.AdminUrlPrefix + "/Media/DeleteFolder",
                defaults: new { controller = adminControllerName, action = nameof(AdminController.DeleteFolder) }
            );

            routes.MapAreaControllerRoute(
                name: "Media.DeleteMedia",
                areaName: "OrchardCore.Media",
                pattern: _adminOptions.AdminUrlPrefix + "/Media/DeleteMedia",
                defaults: new { controller = adminControllerName, action = nameof(AdminController.DeleteMedia) }
            );

            routes.MapAreaControllerRoute(
                name: "Media.MoveMedia",
                areaName: "OrchardCore.Media",
                pattern: _adminOptions.AdminUrlPrefix + "/Media/MoveMedia",
                defaults: new { controller = typeof(AdminController).ControllerName(), action = nameof(AdminController.MoveMedia) }
            );

            routes.MapAreaControllerRoute(
                name: "Media.DeleteMediaList",
                areaName: "OrchardCore.Media",
                pattern: _adminOptions.AdminUrlPrefix + "/Media/DeleteMediaList",
                defaults: new { controller = adminControllerName, action = nameof(AdminController.DeleteMediaList) }
            );

            routes.MapAreaControllerRoute(
                name: "Media.MoveMediaList",
                areaName: "OrchardCore.Media",
                pattern: _adminOptions.AdminUrlPrefix + "/Media/MoveMediaList",
                defaults: new { controller = adminControllerName, action = nameof(AdminController.MoveMediaList) }
            );

            routes.MapAreaControllerRoute(
                name: "Media.CreateFolder",
                areaName: "OrchardCore.Media",
                pattern: _adminOptions.AdminUrlPrefix + "/Media/CreateFolder",
                defaults: new { controller = adminControllerName, action = nameof(AdminController.CreateFolder) }
            );

            var mediaCacheControllerName = typeof(MediaCacheController).ControllerName();

            routes.MapAreaControllerRoute(
                name: "MediaCache.Index",
                areaName: "OrchardCore.Media",
                pattern: _adminOptions.AdminUrlPrefix + "/MediaCache",
                defaults: new { controller = mediaCacheControllerName, action = nameof(MediaCacheController.Index) }
            );

            routes.MapAreaControllerRoute(
                name: "MediaCache.Purge",
                areaName: "OrchardCore.Media",
                pattern: _adminOptions.AdminUrlPrefix + "/MediaCache/Purge",
                defaults: new { controller = mediaCacheControllerName, action = nameof(MediaCacheController.Purge) }
            );
        }