aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Server.Implementations/Connect/ConnectManager.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Connect/ConnectManager.cs33
1 files changed, 32 insertions, 1 deletions
diff --git a/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs b/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs
index 52c21af68..c9b690086 100644
--- a/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs
+++ b/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs
@@ -1,5 +1,6 @@
using MediaBrowser.Common.Configuration;
using MediaBrowser.Common.Net;
+using MediaBrowser.Common.Security;
using MediaBrowser.Controller;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Connect;
@@ -38,6 +39,7 @@ namespace MediaBrowser.Server.Implementations.Connect
private readonly IServerConfigurationManager _config;
private readonly IUserManager _userManager;
private readonly IProviderManager _providerManager;
+ private readonly ISecurityManager _securityManager;
private ConnectData _data = new ConnectData();
@@ -102,7 +104,7 @@ namespace MediaBrowser.Server.Implementations.Connect
IEncryptionManager encryption,
IHttpClient httpClient,
IServerApplicationHost appHost,
- IServerConfigurationManager config, IUserManager userManager, IProviderManager providerManager)
+ IServerConfigurationManager config, IUserManager userManager, IProviderManager providerManager, ISecurityManager securityManager)
{
_logger = logger;
_appPaths = appPaths;
@@ -113,6 +115,7 @@ namespace MediaBrowser.Server.Implementations.Connect
_config = config;
_userManager = userManager;
_providerManager = providerManager;
+ _securityManager = securityManager;
_userManager.UserConfigurationUpdated += _userManager_UserConfigurationUpdated;
_config.ConfigurationUpdated += _config_ConfigurationUpdated;
@@ -1054,6 +1057,34 @@ namespace MediaBrowser.Server.Implementations.Connect
}
}
+ public async Task<ConnectSupporterSummary> GetConnectSupporterSummary()
+ {
+ if (!_securityManager.IsMBSupporter)
+ {
+ return new ConnectSupporterSummary();
+ }
+
+ var url = GetConnectUrl("keyAssociation");
+
+ url += "?serverId=" + ConnectServerId;
+ url += "&supporterKey=" + _securityManager.SupporterKey;
+
+ var options = new HttpRequestOptions
+ {
+ Url = url,
+ CancellationToken = CancellationToken.None
+ };
+
+ SetServerAccessToken(options);
+ SetApplicationHeader(options);
+
+ // No need to examine the response
+ using (var stream = (await _httpClient.SendAsync(options, "GET").ConfigureAwait(false)).Content)
+ {
+ return _json.DeserializeFromStream<ConnectSupporterSummary>(stream);
+ }
+ }
+
public async Task Authenticate(string username, string passwordMd5)
{
if (string.IsNullOrWhiteSpace(username))