1
0
Fork 0
mirror of https://github.com/lidarr/Lidarr synced 2024-12-26 17:47:08 +00:00
Lidarr/NzbDrone.Api/Frontend/StaticResourceMapper.cs

42 lines
1.2 KiB
C#
Raw Normal View History

using System;
using System.IO;
2013-05-18 01:18:02 +00:00
using System.Linq;
using NzbDrone.Common;
namespace NzbDrone.Api.Frontend
{
public class StaticResourceMapper : IMapHttpRequestsToDisk
{
private readonly IEnvironmentProvider _environmentProvider;
2013-05-18 01:18:02 +00:00
private static readonly string[] Extensions = new[] { ".css", ".js", ".html", ".htm", ".jpg", ".jpeg", ".icon", ".gif", ".png", ".woff", ".ttf" };
public StaticResourceMapper(IEnvironmentProvider environmentProvider)
{
_environmentProvider = environmentProvider;
}
public string Map(string resourceUrl)
{
var path = resourceUrl.Replace('/', Path.DirectorySeparatorChar);
path = path.Trim(Path.DirectorySeparatorChar).ToLower();
return Path.Combine(_environmentProvider.StartUpPath, "ui", path);
}
2013-05-18 01:18:02 +00:00
public bool CanHandle(string resourceUrl)
{
if (string.IsNullOrWhiteSpace(resourceUrl))
{
return false;
}
if (resourceUrl.StartsWith("/mediacover", StringComparison.CurrentCultureIgnoreCase))
{
return false;
}
2013-05-18 01:18:02 +00:00
return Extensions.Any(resourceUrl.EndsWith);
}
}
}