using System.IO; using NLog; using NzbDrone.Common.Disk; using NzbDrone.Common.EnvironmentInfo; using NzbDrone.Core.Configuration; namespace Lidarr.Http.Frontend.Mappers { public class BrowserConfig : StaticResourceMapperBase { private readonly IAppFolderInfo _appFolderInfo; private readonly IConfigFileProvider _configFileProvider; public BrowserConfig(IAppFolderInfo appFolderInfo, IDiskProvider diskProvider, IConfigFileProvider configFileProvider, Logger logger) : base(diskProvider, logger) { _appFolderInfo = appFolderInfo; _configFileProvider = configFileProvider; } public override string Map(string resourceUrl) { var path = resourceUrl.Replace('/', Path.DirectorySeparatorChar); path = path.Trim(Path.DirectorySeparatorChar); return Path.ChangeExtension(Path.Combine(_appFolderInfo.StartUpFolder, _configFileProvider.UiFolder, path), "xml"); } public override bool CanHandle(string resourceUrl) { return resourceUrl.StartsWith("/Content/Images/Icons/browserconfig"); } } }