|
|
|
@ -1,4 +1,5 @@
|
|
|
|
|
using System.Net.Http;
|
|
|
|
|
using NLog;
|
|
|
|
|
using NzbDrone.Common.Http;
|
|
|
|
|
using NzbDrone.Common.Serializer;
|
|
|
|
|
using NzbDrone.Core.Notifications.Webhook;
|
|
|
|
@ -14,10 +15,12 @@ namespace NzbDrone.Core.Notifications.Notifiarr
|
|
|
|
|
{
|
|
|
|
|
private const string URL = "https://notifiarr.com";
|
|
|
|
|
private readonly IHttpClient _httpClient;
|
|
|
|
|
private readonly Logger _logger;
|
|
|
|
|
|
|
|
|
|
public NotifiarrProxy(IHttpClient httpClient)
|
|
|
|
|
public NotifiarrProxy(IHttpClient httpClient, Logger logger)
|
|
|
|
|
{
|
|
|
|
|
_httpClient = httpClient;
|
|
|
|
|
_logger = logger;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void SendNotification(WebhookPayload payload, NotifiarrSettings settings)
|
|
|
|
@ -47,12 +50,14 @@ namespace NzbDrone.Core.Notifications.Notifiarr
|
|
|
|
|
switch ((int)responseCode)
|
|
|
|
|
{
|
|
|
|
|
case 401:
|
|
|
|
|
_logger.Error("HTTP 401 - API key is invalid");
|
|
|
|
|
throw new NotifiarrException("API key is invalid");
|
|
|
|
|
case 400:
|
|
|
|
|
throw new NotifiarrException("Unable to send notification. Ensure Lidarr Integration is enabled & assigned a channel on Notifiarr");
|
|
|
|
|
case 502:
|
|
|
|
|
case 503:
|
|
|
|
|
case 504:
|
|
|
|
|
_logger.Error("Unable to send notification. Service Unavailable");
|
|
|
|
|
throw new NotifiarrException("Unable to send notification. Service Unavailable", ex);
|
|
|
|
|
case 520:
|
|
|
|
|
case 521:
|
|
|
|
@ -61,6 +66,7 @@ namespace NzbDrone.Core.Notifications.Notifiarr
|
|
|
|
|
case 524:
|
|
|
|
|
throw new NotifiarrException("Cloudflare Related HTTP Error - Unable to send notification", ex);
|
|
|
|
|
default:
|
|
|
|
|
_logger.Error(ex, "Unknown HTTP Error - Unable to send notification");
|
|
|
|
|
throw new NotifiarrException("Unknown HTTP Error - Unable to send notification", ex);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|