From 860d7ed07951acf221dff0e0f70eaf2408a2a3bf Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Thu, 4 Jun 2015 14:10:38 -0700 Subject: [PATCH] New: Support for SSL connections to Plex Media Server --- src/NzbDrone.Core/Notifications/Plex/PlexServerProxy.cs | 4 +++- src/NzbDrone.Core/Notifications/Plex/PlexServerService.cs | 8 +------- .../Notifications/Plex/PlexServerSettings.cs | 3 +++ 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/NzbDrone.Core/Notifications/Plex/PlexServerProxy.cs b/src/NzbDrone.Core/Notifications/Plex/PlexServerProxy.cs index facbc135f..3ae801ee4 100644 --- a/src/NzbDrone.Core/Notifications/Plex/PlexServerProxy.cs +++ b/src/NzbDrone.Core/Notifications/Plex/PlexServerProxy.cs @@ -160,7 +160,9 @@ private RestRequest GetMyPlexRequest(string resource, Method method) private RestClient GetPlexServerClient(PlexServerSettings settings) { - return RestClientFactory.BuildClient(String.Format("http://{0}:{1}", settings.Host, settings.Port)); + var protocol = settings.UseSsl ? "https" : "http"; + + return RestClientFactory.BuildClient(String.Format("{0}://{1}:{2}", protocol, settings.Host, settings.Port)); } private RestRequest GetPlexServerRequest(string resource, Method method, PlexServerSettings settings) diff --git a/src/NzbDrone.Core/Notifications/Plex/PlexServerService.cs b/src/NzbDrone.Core/Notifications/Plex/PlexServerService.cs index 850fe75b1..a17834ed6 100644 --- a/src/NzbDrone.Core/Notifications/Plex/PlexServerService.cs +++ b/src/NzbDrone.Core/Notifications/Plex/PlexServerService.cs @@ -144,13 +144,7 @@ public ValidationFailure Test(PlexServerSettings settings) { try { - var sections = GetSections(new PlexServerSettings - { - Host = settings.Host, - Port = settings.Port, - Username = settings.Username, - Password = settings.Password - }); + var sections = GetSections(settings); if (sections.Empty()) { diff --git a/src/NzbDrone.Core/Notifications/Plex/PlexServerSettings.cs b/src/NzbDrone.Core/Notifications/Plex/PlexServerSettings.cs index 9d5858586..7025d5148 100644 --- a/src/NzbDrone.Core/Notifications/Plex/PlexServerSettings.cs +++ b/src/NzbDrone.Core/Notifications/Plex/PlexServerSettings.cs @@ -40,6 +40,9 @@ public PlexServerSettings() [FieldDefinition(4, Label = "Update Library", Type = FieldType.Checkbox)] public Boolean UpdateLibrary { get; set; } + [FieldDefinition(5, Label = "Use SSL", Type = FieldType.Checkbox, HelpText = "Connect to Plex over HTTPS instead of HTTP")] + public Boolean UseSsl { get; set; } + public bool IsValid { get