aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Updates/InstallationManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller/Updates/InstallationManager.cs')
-rw-r--r--MediaBrowser.Controller/Updates/InstallationManager.cs25
1 files changed, 18 insertions, 7 deletions
diff --git a/MediaBrowser.Controller/Updates/InstallationManager.cs b/MediaBrowser.Controller/Updates/InstallationManager.cs
index af544dd51..15d626b2f 100644
--- a/MediaBrowser.Controller/Updates/InstallationManager.cs
+++ b/MediaBrowser.Controller/Updates/InstallationManager.cs
@@ -114,15 +114,22 @@ namespace MediaBrowser.Controller.Updates
protected IJsonSerializer JsonSerializer { get; private set; }
/// <summary>
+ /// Gets the HTTP client.
+ /// </summary>
+ /// <value>The HTTP client.</value>
+ protected IHttpClient HttpClient { get; private set; }
+
+ /// <summary>
/// Initializes a new instance of the <see cref="InstallationManager" /> class.
/// </summary>
/// <param name="kernel">The kernel.</param>
+ /// <param name="httpClient">The HTTP client.</param>
/// <param name="zipClient">The zip client.</param>
/// <param name="networkManager">The network manager.</param>
- /// <param name="jsonSerializer"></param>
+ /// <param name="jsonSerializer">The json serializer.</param>
/// <param name="logger">The logger.</param>
/// <exception cref="System.ArgumentNullException">zipClient</exception>
- public InstallationManager(Kernel kernel, IZipClient zipClient, INetworkManager networkManager, IJsonSerializer jsonSerializer, ILogger logger)
+ public InstallationManager(Kernel kernel, IHttpClient httpClient, IZipClient zipClient, INetworkManager networkManager, IJsonSerializer jsonSerializer, ILogger logger)
: base(kernel)
{
if (zipClient == null)
@@ -141,9 +148,13 @@ namespace MediaBrowser.Controller.Updates
{
throw new ArgumentNullException("jsonSerializer");
}
+ if (httpClient == null)
+ {
+ throw new ArgumentNullException("httpClient");
+ }
JsonSerializer = jsonSerializer;
-
+ HttpClient = httpClient;
_networkManager = networkManager;
_logger = logger;
ZipClient = zipClient;
@@ -162,7 +173,7 @@ namespace MediaBrowser.Controller.Updates
{
var data = new Dictionary<string, string> { { "key", Kernel.PluginSecurityManager.SupporterKey }, { "mac", _networkManager.GetMacAddress() } };
- using (var json = await Kernel.HttpManager.Post(Controller.Kernel.MBAdminUrl + "service/package/retrieveall", data, Kernel.ResourcePools.Mb, cancellationToken).ConfigureAwait(false))
+ using (var json = await HttpClient.Post(Controller.Kernel.MBAdminUrl + "service/package/retrieveall", data, Kernel.ResourcePools.Mb, cancellationToken).ConfigureAwait(false))
{
cancellationToken.ThrowIfCancellationRequested();
@@ -276,7 +287,7 @@ namespace MediaBrowser.Controller.Updates
/// <returns>Task{IEnumerable{PackageVersionInfo}}.</returns>
public async Task<IEnumerable<PackageVersionInfo>> GetAvailablePluginUpdates(bool withAutoUpdateEnabled, CancellationToken cancellationToken)
{
- var catalog = await Kernel.InstallationManager.GetAvailablePackages(cancellationToken).ConfigureAwait(false);
+ var catalog = await GetAvailablePackages(cancellationToken).ConfigureAwait(false);
var plugins = Kernel.Plugins;
@@ -288,7 +299,7 @@ namespace MediaBrowser.Controller.Updates
// Figure out what needs to be installed
return plugins.Select(p =>
{
- var latestPluginInfo = Kernel.InstallationManager.GetLatestCompatibleVersion(catalog, p.Name, p.Configuration.UpdateClass);
+ var latestPluginInfo = GetLatestCompatibleVersion(catalog, p.Name, p.Configuration.UpdateClass);
return latestPluginInfo != null && latestPluginInfo.version > p.Version ? latestPluginInfo : null;
@@ -414,7 +425,7 @@ namespace MediaBrowser.Controller.Updates
var target = isArchive ? Kernel.ApplicationPaths.ProgramDataPath : Path.Combine(Kernel.ApplicationPaths.PluginsPath, package.targetFilename);
// Download to temporary file so that, if interrupted, it won't destroy the existing installation
- var tempFile = await Kernel.HttpManager.FetchToTempFile(package.sourceUrl, Kernel.ResourcePools.Mb, cancellationToken, progress).ConfigureAwait(false);
+ var tempFile = await HttpClient.GetTempFile(package.sourceUrl, Kernel.ResourcePools.Mb, cancellationToken, progress).ConfigureAwait(false);
cancellationToken.ThrowIfCancellationRequested();