From 8eb0f3371879a2b656a3927d793a99a7b01cc17b Mon Sep 17 00:00:00 2001 From: Robin Dadswell <19610103+RobinDadswell@users.noreply.github.com> Date: Wed, 17 Mar 2021 15:50:03 +0000 Subject: [PATCH] Pull Sonarr commit 'Log Skyhook connection failures with more info.' (#6060) * Log Skyhook connection failures with more info. (cherry picked from commit 6672650b6b5e152e82fb3ad38a0a158d66c0b83d) * Log Skyhook connection failures with more info. (cherry picked from commit f57cf1561beb7ee4a1b3afcdf391488fc7c04d02) Co-authored-by: Taloth Saldono --- .../Exceptions/NzbDroneClientException.cs | 9 ++++++++- .../MetadataSource/SkyHook/SkyHookException.cs | 8 +++++++- .../MetadataSource/SkyHook/SkyHookProxy.cs | 14 ++++++++++---- 3 files changed, 25 insertions(+), 6 deletions(-) diff --git a/src/NzbDrone.Core/Exceptions/NzbDroneClientException.cs b/src/NzbDrone.Core/Exceptions/NzbDroneClientException.cs index ed44e447c..5c162ad4f 100644 --- a/src/NzbDrone.Core/Exceptions/NzbDroneClientException.cs +++ b/src/NzbDrone.Core/Exceptions/NzbDroneClientException.cs @@ -1,4 +1,5 @@ -using System.Net; +using System; +using System.Net; using NzbDrone.Common.Exceptions; namespace NzbDrone.Core.Exceptions @@ -13,6 +14,12 @@ namespace NzbDrone.Core.Exceptions StatusCode = statusCode; } + public NzbDroneClientException(HttpStatusCode statusCode, string message, Exception innerException, params object[] args) + : base(message, innerException, args) + { + StatusCode = statusCode; + } + public NzbDroneClientException(HttpStatusCode statusCode, string message) : base(message) { diff --git a/src/NzbDrone.Core/MetadataSource/SkyHook/SkyHookException.cs b/src/NzbDrone.Core/MetadataSource/SkyHook/SkyHookException.cs index aabfe757f..8fcc9c5bf 100644 --- a/src/NzbDrone.Core/MetadataSource/SkyHook/SkyHookException.cs +++ b/src/NzbDrone.Core/MetadataSource/SkyHook/SkyHookException.cs @@ -1,4 +1,5 @@ -using System.Net; +using System; +using System.Net; using NzbDrone.Core.Exceptions; namespace NzbDrone.Core.MetadataSource.SkyHook @@ -14,5 +15,10 @@ namespace NzbDrone.Core.MetadataSource.SkyHook : base(HttpStatusCode.ServiceUnavailable, message, args) { } + + public SkyHookException(string message, Exception innerException, params object[] args) + : base(HttpStatusCode.ServiceUnavailable, message, innerException, args) + { + } } } diff --git a/src/NzbDrone.Core/MetadataSource/SkyHook/SkyHookProxy.cs b/src/NzbDrone.Core/MetadataSource/SkyHook/SkyHookProxy.cs index b50c07800..a4377ba3b 100644 --- a/src/NzbDrone.Core/MetadataSource/SkyHook/SkyHookProxy.cs +++ b/src/NzbDrone.Core/MetadataSource/SkyHook/SkyHookProxy.cs @@ -421,14 +421,20 @@ namespace NzbDrone.Core.MetadataSource.SkyHook return httpResponse.Resource.SelectList(MapSearchResult); } - catch (HttpException) + catch (HttpException ex) { - throw new SkyHookException("Search for '{0}' failed. Unable to communicate with TMDb.", title); + _logger.Warn(ex); + throw new SkyHookException("Search for '{0}' failed. Unable to communicate with TMDb.", ex, title); + } + catch (WebException ex) + { + _logger.Warn(ex); + throw new SkyHookException("Search for '{0}' failed. Unable to communicate with TMDb.", ex, title, ex.Message); } catch (Exception ex) { - _logger.Warn(ex, ex.Message); - throw new SkyHookException("Search for '{0}' failed. Invalid response received from TMDb.", title); + _logger.Warn(ex); + throw new SkyHookException("Search for '{0}' failed. Invalid response received from TMDb.", ex, title); } }