From 1959efbd09ca76ed18c733e3b3022eb7614c07b9 Mon Sep 17 00:00:00 2001 From: bakerboy448 <55419169+bakerboy448@users.noreply.github.com> Date: Mon, 24 Jan 2022 11:29:32 -0600 Subject: [PATCH] Fixed: (HDBits) Treat 403 as Query Limit --- .../Definitions/HDBits/HDBitsParser.cs | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/NzbDrone.Core/Indexers/Definitions/HDBits/HDBitsParser.cs b/src/NzbDrone.Core/Indexers/Definitions/HDBits/HDBitsParser.cs index ad76e0970..2819df47c 100644 --- a/src/NzbDrone.Core/Indexers/Definitions/HDBits/HDBitsParser.cs +++ b/src/NzbDrone.Core/Indexers/Definitions/HDBits/HDBitsParser.cs @@ -23,29 +23,29 @@ namespace NzbDrone.Core.Indexers.HDBits public IList ParseResponse(IndexerResponse indexerResponse) { var torrentInfos = new List(); + var indexerHttpResponse = indexerResponse.HttpResponse; - if (indexerResponse.HttpResponse.StatusCode != HttpStatusCode.OK) + if (indexerHttpResponse.StatusCode == HttpStatusCode.Forbidden) { - throw new IndexerException(indexerResponse, - "Unexpected response status {0} code from API request", - indexerResponse.HttpResponse.StatusCode); + throw new RequestLimitReachedException(indexerResponse, "HDBits Query Limit Reached. Please try again later."); + } + + if (indexerHttpResponse.StatusCode != HttpStatusCode.OK) + { + throw new IndexerException(indexerResponse, "Unexpected response status {0} code from API request", indexerHttpResponse.StatusCode); } var jsonResponse = JsonConvert.DeserializeObject(indexerResponse.Content); if (jsonResponse.Status != StatusCode.Success) { - throw new IndexerException(indexerResponse, - "HDBits API request returned status code {0}: {1}", - jsonResponse.Status, - jsonResponse.Message ?? string.Empty); + throw new IndexerException(indexerResponse, "HDBits API request returned status code {0}: {1}", jsonResponse.Status, jsonResponse.Message ?? string.Empty); } var responseData = jsonResponse.Data as JArray; if (responseData == null) { - throw new IndexerException(indexerResponse, - "Indexer API call response missing result data"); + throw new IndexerException(indexerResponse, "Indexer API call response missing result data"); } var queryResults = responseData.ToObject();