mirror of
https://github.com/Radarr/Radarr.git
synced 2026-04-14 20:55:01 -04:00
(cherry picked from commit aedcd046fc4fc621dae4b231cc80d4b269a69177) Fixed: PWA Manifest images (cherry picked from commit da7d17f5e826d5273dba0b4f73227ffc8ed8a6c7) Closes #10317 Closes #10329
59 lines
1.6 KiB
C#
59 lines
1.6 KiB
C#
using System.IO;
|
|
using NLog;
|
|
using NzbDrone.Common.Disk;
|
|
using NzbDrone.Common.EnvironmentInfo;
|
|
using NzbDrone.Core.Configuration;
|
|
|
|
namespace Radarr.Http.Frontend.Mappers
|
|
{
|
|
public abstract class UrlBaseReplacementResourceMapperBase : StaticResourceMapperBase
|
|
{
|
|
private readonly IDiskProvider _diskProvider;
|
|
private readonly string _urlBase;
|
|
|
|
private string _generatedContent;
|
|
|
|
public UrlBaseReplacementResourceMapperBase(IDiskProvider diskProvider, IConfigFileProvider configFileProvider, Logger logger)
|
|
: base(diskProvider, logger)
|
|
{
|
|
_diskProvider = diskProvider;
|
|
_urlBase = configFileProvider.UrlBase;
|
|
}
|
|
|
|
protected string FilePath;
|
|
|
|
public override string Map(string resourceUrl)
|
|
{
|
|
return FilePath;
|
|
}
|
|
|
|
protected override Stream GetContentStream(string filePath)
|
|
{
|
|
var text = GetFileText();
|
|
|
|
var stream = new MemoryStream();
|
|
var writer = new StreamWriter(stream);
|
|
writer.Write(text);
|
|
writer.Flush();
|
|
stream.Position = 0;
|
|
return stream;
|
|
}
|
|
|
|
protected virtual string GetFileText()
|
|
{
|
|
if (RuntimeInfo.IsProduction && _generatedContent != null)
|
|
{
|
|
return _generatedContent;
|
|
}
|
|
|
|
var text = _diskProvider.ReadAllText(FilePath);
|
|
|
|
text = text.Replace("__URL_BASE__", _urlBase);
|
|
|
|
_generatedContent = text;
|
|
|
|
return _generatedContent;
|
|
}
|
|
}
|
|
}
|