Fixed: Ensure indexer errors are handled before processing response

(cherry picked from commit 76f93c8415419f0c3dab90582d47a1c9a653263c)

Closes #3628
pull/3443/head
Bogdan 1 year ago
parent 7c3871441e
commit 7f3ccf659c

@ -1,4 +1,4 @@
using System.Linq;
using System.Linq;
using System.Xml.Linq;
using NzbDrone.Common.Extensions;
using NzbDrone.Core.Indexers.Exceptions;
@ -16,6 +16,8 @@ namespace NzbDrone.Core.Indexers
protected override bool PreProcess(IndexerResponse indexerResponse)
{
base.PreProcess(indexerResponse);
var document = LoadXmlDocument(indexerResponse);
var items = GetItems(document).ToList();
@ -24,7 +26,7 @@ namespace NzbDrone.Core.Indexers
throw new IndexerException(indexerResponse, "No results were found");
}
return base.PreProcess(indexerResponse);
return true;
}
protected override long GetSize(XElement item)

@ -50,6 +50,11 @@ namespace NzbDrone.Core.Indexers.Newznab
protected override bool PreProcess(IndexerResponse indexerResponse)
{
if (indexerResponse.HttpResponse.HasHttpError)
{
base.PreProcess(indexerResponse);
}
var xdoc = LoadXmlDocument(indexerResponse);
CheckError(xdoc, indexerResponse);

@ -19,6 +19,11 @@ namespace NzbDrone.Core.Indexers.Torznab
protected override bool PreProcess(IndexerResponse indexerResponse)
{
if (indexerResponse.HttpResponse.HasHttpError)
{
base.PreProcess(indexerResponse);
}
var xdoc = LoadXmlDocument(indexerResponse);
var error = xdoc.Descendants("error").FirstOrDefault();

Loading…
Cancel
Save