|
|
@ -1,19 +1,26 @@
|
|
|
|
using System.IO;
|
|
|
|
using System.IO;
|
|
|
|
using System.Linq;
|
|
|
|
using System.Linq;
|
|
|
|
|
|
|
|
using NzbDrone.Common;
|
|
|
|
|
|
|
|
|
|
|
|
namespace NzbDrone.Api.Frontend
|
|
|
|
namespace NzbDrone.Api.Frontend
|
|
|
|
{
|
|
|
|
{
|
|
|
|
public class StaticResourceMapper : IMapHttpRequestsToDisk
|
|
|
|
public class StaticResourceMapper : IMapHttpRequestsToDisk
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
private readonly IEnvironmentProvider _environmentProvider;
|
|
|
|
private static readonly string[] Extensions = new[] { ".css", ".js", ".html", ".htm", ".jpg", ".jpeg", ".icon", ".gif", ".png", ".woff", ".ttf" };
|
|
|
|
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)
|
|
|
|
public string Map(string resourceUrl)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var path = resourceUrl.Replace('/', Path.DirectorySeparatorChar);
|
|
|
|
var path = resourceUrl.Replace('/', Path.DirectorySeparatorChar);
|
|
|
|
path = path.Trim(Path.DirectorySeparatorChar).ToLower();
|
|
|
|
path = path.Trim(Path.DirectorySeparatorChar).ToLower();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return Path.Combine("ui", path);
|
|
|
|
return Path.Combine(_environmentProvider.StartUpPath, "ui", path);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public bool CanHandle(string resourceUrl)
|
|
|
|
public bool CanHandle(string resourceUrl)
|
|
|
|