From 817f0a38a874f8e8d1c11a41a4e8ed484c679e8b Mon Sep 17 00:00:00 2001 From: Garfield69 Date: Thu, 9 Jun 2022 11:21:36 +1200 Subject: [PATCH] RarBG: detect alternate rate_limit return code. resolves #13287 --- src/Jackett.Common/Indexers/RarBG.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Jackett.Common/Indexers/RarBG.cs b/src/Jackett.Common/Indexers/RarBG.cs index c3fe4f1d8..15ab09c08 100644 --- a/src/Jackett.Common/Indexers/RarBG.cs +++ b/src/Jackett.Common/Indexers/RarBG.cs @@ -153,9 +153,16 @@ namespace Jackett.Common.Indexers response = await RequestWithCookiesAndRetryAsync(BuildSearchUrl(query)); jsonContent = JObject.Parse(response.ContentString); break; + case 5: // Too many requests per second. Maximum requests allowed are 1req/2sec Please try again later! + return await PerformQueryWithRetry(query, false); case 8: // imdb not found, see issue #12466 case 10: // imdb not found, see issue #1486 case 20: // no results found + if (jsonContent.ContainsKey("rate_limit")) + { + logger.Warn("Rate Limit exceeded. Retry will be performed."); + return await PerformQueryWithRetry(query, false); + } // the api returns "no results" in some valid queries. we do one retry on this case but we can't do more // because we can't distinguish between search without results and api malfunction return retry ? await PerformQueryWithRetry(query, false) : releases;