aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/Updates/InstallationManager.cs
diff options
context:
space:
mode:
authorMark Monteiro <marknr.monteiro@protonmail.com>2020-04-05 13:46:36 -0400
committerMark Monteiro <marknr.monteiro@protonmail.com>2020-04-05 13:46:36 -0400
commit15dd46c25a54862b35f885a91479c5507c8bf2d9 (patch)
tree034ce1aa6df340420461ddcdcdeb42cb23a545d9 /Emby.Server.Implementations/Updates/InstallationManager.cs
parent92af81166d00eb886e1111c4b7dc9788cacc619a (diff)
Add '--plugin-manifest-url' command line option and 'InstallationManager:PluginManifestUrl' config option
Diffstat (limited to 'Emby.Server.Implementations/Updates/InstallationManager.cs')
-rw-r--r--Emby.Server.Implementations/Updates/InstallationManager.cs13
1 files changed, 11 insertions, 2 deletions
diff --git a/Emby.Server.Implementations/Updates/InstallationManager.cs b/Emby.Server.Implementations/Updates/InstallationManager.cs
index c897036eb..22bdbc979 100644
--- a/Emby.Server.Implementations/Updates/InstallationManager.cs
+++ b/Emby.Server.Implementations/Updates/InstallationManager.cs
@@ -18,6 +18,7 @@ using MediaBrowser.Model.Events;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.Serialization;
using MediaBrowser.Model.Updates;
+using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging;
namespace Emby.Server.Implementations.Updates
@@ -28,6 +29,11 @@ namespace Emby.Server.Implementations.Updates
public class InstallationManager : IInstallationManager
{
/// <summary>
+ /// The key for a setting that specifies a URL for the plugin repository JSON manifest.
+ /// </summary>
+ public const string PluginManifestUrlKey = "InstallationManager:PluginManifestUrl";
+
+ /// <summary>
/// The _logger.
/// </summary>
private readonly ILogger _logger;
@@ -44,6 +50,7 @@ namespace Emby.Server.Implementations.Updates
private readonly IApplicationHost _applicationHost;
private readonly IZipClient _zipClient;
+ private readonly IConfiguration _appConfig;
private readonly object _currentInstallationsLock = new object();
@@ -65,7 +72,8 @@ namespace Emby.Server.Implementations.Updates
IJsonSerializer jsonSerializer,
IServerConfigurationManager config,
IFileSystem fileSystem,
- IZipClient zipClient)
+ IZipClient zipClient,
+ IConfiguration appConfig)
{
if (logger == null)
{
@@ -83,6 +91,7 @@ namespace Emby.Server.Implementations.Updates
_config = config;
_fileSystem = fileSystem;
_zipClient = zipClient;
+ _appConfig = appConfig;
}
/// <inheritdoc />
@@ -115,7 +124,7 @@ namespace Emby.Server.Implementations.Updates
using (var response = await _httpClient.SendAsync(
new HttpRequestOptions
{
- Url = "https://repo.jellyfin.org/releases/plugin/manifest.json",
+ Url = _appConfig.GetValue<string>(PluginManifestUrlKey),
CancellationToken = cancellationToken,
CacheMode = CacheMode.Unconditional,
CacheLength = TimeSpan.FromMinutes(3)