2013-05-17 06:03:52 +03:00
|
|
|
using System.IO;
|
2013-08-20 09:23:36 +03:00
|
|
|
using NLog;
|
|
|
|
using NzbDrone.Common;
|
2013-06-28 03:04:52 +03:00
|
|
|
using NzbDrone.Common.EnvironmentInfo;
|
2013-05-17 06:03:52 +03:00
|
|
|
|
2013-08-20 05:31:26 +03:00
|
|
|
namespace NzbDrone.Api.Frontend.Mappers
|
2013-05-17 06:03:52 +03:00
|
|
|
{
|
2013-08-20 09:23:36 +03:00
|
|
|
public class StaticResourceMapper : StaticResourceMapperBase
|
2013-05-17 06:03:52 +03:00
|
|
|
{
|
2013-07-05 07:43:28 +03:00
|
|
|
private readonly IAppFolderInfo _appFolderInfo;
|
2013-05-17 06:03:52 +03:00
|
|
|
|
2013-08-20 09:23:36 +03:00
|
|
|
public StaticResourceMapper(IAppFolderInfo appFolderInfo, IDiskProvider diskProvider, Logger logger)
|
|
|
|
: base(diskProvider, logger)
|
2013-05-17 06:03:52 +03:00
|
|
|
{
|
2013-07-05 07:43:28 +03:00
|
|
|
_appFolderInfo = appFolderInfo;
|
2013-05-17 06:03:52 +03:00
|
|
|
}
|
|
|
|
|
2013-08-20 09:23:36 +03:00
|
|
|
protected override string Map(string resourceUrl)
|
2013-05-17 06:03:52 +03:00
|
|
|
{
|
|
|
|
var path = resourceUrl.Replace('/', Path.DirectorySeparatorChar);
|
2013-07-24 09:26:10 +03:00
|
|
|
path = path.Trim(Path.DirectorySeparatorChar);
|
2013-05-17 06:03:52 +03:00
|
|
|
|
2013-08-20 05:31:26 +03:00
|
|
|
return Path.Combine(_appFolderInfo.StartUpFolder, "UI", path);
|
2013-05-17 06:03:52 +03:00
|
|
|
}
|
|
|
|
|
2013-08-20 09:23:36 +03:00
|
|
|
public override bool CanHandle(string resourceUrl)
|
2013-05-18 04:18:02 +03:00
|
|
|
{
|
2013-08-27 17:22:14 +03:00
|
|
|
return resourceUrl.StartsWith("/Content") || resourceUrl.EndsWith(".js") || resourceUrl.EndsWith(".css") || resourceUrl.EndsWith(".ico");
|
2013-05-18 04:18:02 +03:00
|
|
|
}
|
2013-05-17 06:03:52 +03:00
|
|
|
}
|
|
|
|
}
|