From d2ba52cdce72639e5cf9fe6a301507cc4e2b79b5 Mon Sep 17 00:00:00 2001 From: Bogdan Date: Sun, 23 Apr 2023 06:56:24 +0300 Subject: [PATCH] Fixed: (Indexers) Hide errors with SuppressHttpErrorStatusCodes --- src/NzbDrone.Core/History/HistoryService.cs | 4 +++- .../Indexers/Definitions/Avistaz/AvistazBase.cs | 4 ++-- .../Indexers/Definitions/Avistaz/AvistazRequestGenerator.cs | 6 ++---- src/NzbDrone.Core/Indexers/HttpIndexerBase.cs | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/NzbDrone.Core/History/HistoryService.cs b/src/NzbDrone.Core/History/HistoryService.cs index 2dbefc8f7..4352a1c67 100644 --- a/src/NzbDrone.Core/History/HistoryService.cs +++ b/src/NzbDrone.Core/History/HistoryService.cs @@ -118,12 +118,14 @@ namespace NzbDrone.Core.History public void Handle(IndexerQueryEvent message) { + var response = message.QueryResult.Response; + var history = new History { Date = DateTime.UtcNow, IndexerId = message.IndexerId, EventType = message.Query.IsRssSearch ? HistoryEventType.IndexerRss : HistoryEventType.IndexerQuery, - Successful = message.QueryResult.Response?.StatusCode == HttpStatusCode.OK + Successful = response?.StatusCode == HttpStatusCode.OK || (response is { Request: { SuppressHttpError: true, SuppressHttpErrorStatusCodes: not null } } && response.Request.SuppressHttpErrorStatusCodes.Contains(response.StatusCode)) }; if (message.Query is MovieSearchCriteria) diff --git a/src/NzbDrone.Core/Indexers/Definitions/Avistaz/AvistazBase.cs b/src/NzbDrone.Core/Indexers/Definitions/Avistaz/AvistazBase.cs index ba8ba8201..5f4f6022e 100644 --- a/src/NzbDrone.Core/Indexers/Definitions/Avistaz/AvistazBase.cs +++ b/src/NzbDrone.Core/Indexers/Definitions/Avistaz/AvistazBase.cs @@ -67,9 +67,9 @@ namespace NzbDrone.Core.Indexers.Definitions.Avistaz _logger.Debug("Avistaz authentication succeeded."); } - protected override bool CheckIfLoginNeeded(HttpResponse response) + protected override bool CheckIfLoginNeeded(HttpResponse httpResponse) { - return response.StatusCode == HttpStatusCode.Unauthorized || response.StatusCode == HttpStatusCode.PreconditionFailed; + return httpResponse.StatusCode is HttpStatusCode.Unauthorized or HttpStatusCode.PreconditionFailed; } protected override void ModifyRequest(IndexerRequest request) diff --git a/src/NzbDrone.Core/Indexers/Definitions/Avistaz/AvistazRequestGenerator.cs b/src/NzbDrone.Core/Indexers/Definitions/Avistaz/AvistazRequestGenerator.cs index f88e61a21..d74158888 100644 --- a/src/NzbDrone.Core/Indexers/Definitions/Avistaz/AvistazRequestGenerator.cs +++ b/src/NzbDrone.Core/Indexers/Definitions/Avistaz/AvistazRequestGenerator.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Net; using NLog; using NzbDrone.Common.Extensions; using NzbDrone.Common.Http; @@ -85,10 +86,7 @@ namespace NzbDrone.Core.Indexers.Definitions.Avistaz var request = new IndexerRequest(searchUrl, HttpAccept.Html); request.HttpRequest.Headers.Add("Authorization", $"Bearer {Settings.Token}"); - if (searchParameters.Any(p => p.Key is "imdb" or "tmdb" or "tvdb")) - { - request.HttpRequest.LogHttpError = false; - } + request.HttpRequest.SuppressHttpErrorStatusCodes = new[] { HttpStatusCode.NotFound }; yield return request; } diff --git a/src/NzbDrone.Core/Indexers/HttpIndexerBase.cs b/src/NzbDrone.Core/Indexers/HttpIndexerBase.cs index ff10b3836..0e0fdc0af 100644 --- a/src/NzbDrone.Core/Indexers/HttpIndexerBase.cs +++ b/src/NzbDrone.Core/Indexers/HttpIndexerBase.cs @@ -508,7 +508,7 @@ namespace NzbDrone.Core.Indexers } // Throw common http errors here before we try to parse - if (response.HasHttpError) + if (response.HasHttpError && (request.HttpRequest.SuppressHttpErrorStatusCodes == null || !request.HttpRequest.SuppressHttpErrorStatusCodes.Contains(response.StatusCode))) { if (response.Request.LogHttpError) {