From 37610eec4069720e55c5783b67630eba1ea887f5 Mon Sep 17 00:00:00 2001 From: Bogdan Date: Wed, 22 Jan 2025 19:44:49 +0200 Subject: [PATCH] Fixed: (TorrentDay) Improved error message for expired cookies --- .../Indexers/Definitions/TorrentDay.cs | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/NzbDrone.Core/Indexers/Definitions/TorrentDay.cs b/src/NzbDrone.Core/Indexers/Definitions/TorrentDay.cs index 9371c8aa0..aa02c4578 100644 --- a/src/NzbDrone.Core/Indexers/Definitions/TorrentDay.cs +++ b/src/NzbDrone.Core/Indexers/Definitions/TorrentDay.cs @@ -7,6 +7,7 @@ using NzbDrone.Common.Extensions; using NzbDrone.Common.Http; using NzbDrone.Core.Annotations; using NzbDrone.Core.Configuration; +using NzbDrone.Core.Indexers.Exceptions; using NzbDrone.Core.Indexers.Settings; using NzbDrone.Core.IndexerSearch.Definitions; using NzbDrone.Core.Messaging.Events; @@ -52,7 +53,7 @@ namespace NzbDrone.Core.Indexers.Definitions public override IParseIndexerResponse GetParser() { - return new TorrentDayParser(Settings, Capabilities.Categories); + return new TorrentDayParser(Settings, Capabilities.Categories, _logger); } protected override IDictionary GetCookies() @@ -228,15 +229,29 @@ namespace NzbDrone.Core.Indexers.Definitions { private readonly TorrentDaySettings _settings; private readonly IndexerCapabilitiesCategories _categories; + private readonly Logger _logger; - public TorrentDayParser(TorrentDaySettings settings, IndexerCapabilitiesCategories categories) + public TorrentDayParser(TorrentDaySettings settings, IndexerCapabilitiesCategories categories, Logger logger) { _settings = settings; _categories = categories; + _logger = logger; } public IList ParseResponse(IndexerResponse indexerResponse) { + if (indexerResponse.HttpResponse.HasHttpRedirect) + { + _logger.Warn("Redirected to {0} from indexer request", indexerResponse.HttpResponse.RedirectUrl); + + if (indexerResponse.HttpResponse.RedirectUrl.ContainsIgnoreCase("/login.php")) + { + throw new IndexerException(indexerResponse, "We are being redirected to the login page. Most likely your session expired or was killed. Recheck your cookie and try testing the indexer."); + } + + throw new IndexerException(indexerResponse, "Redirected to {0} from indexer request", indexerResponse.HttpResponse.RedirectUrl); + } + var torrentInfos = new List(); var rows = JsonConvert.DeserializeObject(indexerResponse.Content);