Use proxied requests for indexers

This commit is contained in:
Bogdan
2024-03-04 15:26:23 +02:00
parent a25e79031f
commit 882152b911
7 changed files with 32 additions and 21 deletions
@@ -18,6 +18,7 @@ using NzbDrone.Core.IndexerSearch.Definitions;
using NzbDrone.Core.Messaging.Events;
using NzbDrone.Core.Parser;
using NzbDrone.Core.Parser.Model;
using NzbDrone.Core.ThingiProvider;
namespace NzbDrone.Core.Indexers.Definitions
{
@@ -43,7 +44,7 @@ namespace NzbDrone.Core.Indexers.Definitions
public override IParseIndexerResponse GetParser()
{
return new AnidubParser(Settings, Capabilities.Categories, RateLimit, _httpClient, _logger);
return new AnidubParser(Definition, Settings, Capabilities.Categories, RateLimit, _httpClient, _logger);
}
protected override async Task DoLogin()
@@ -244,6 +245,7 @@ namespace NzbDrone.Core.Indexers.Definitions
public class AnidubParser : IParseIndexerResponse
{
private readonly ProviderDefinition _definition;
private readonly UserPassTorrentBaseSettings _settings;
private readonly IndexerCapabilitiesCategories _categories;
private readonly TimeSpan _rateLimit;
@@ -270,8 +272,9 @@ namespace NzbDrone.Core.Indexers.Definitions
{ "/anons_ongoing", "12" }
};
public AnidubParser(UserPassTorrentBaseSettings settings, IndexerCapabilitiesCategories categories, TimeSpan rateLimit, IIndexerHttpClient httpClient, Logger logger)
public AnidubParser(ProviderDefinition definition, UserPassTorrentBaseSettings settings, IndexerCapabilitiesCategories categories, TimeSpan rateLimit, IIndexerHttpClient httpClient, Logger logger)
{
_definition = definition;
_settings = settings;
_categories = categories;
_rateLimit = rateLimit;
@@ -479,7 +482,7 @@ namespace NzbDrone.Core.Indexers.Definitions
.Build();
var releaseIndexerRequest = new IndexerRequest(releaseRequest);
var releaseResponse = new IndexerResponse(releaseIndexerRequest, _httpClient.Execute(releaseIndexerRequest.HttpRequest));
var releaseResponse = new IndexerResponse(releaseIndexerRequest, _httpClient.ExecuteProxied(releaseIndexerRequest.HttpRequest, _definition));
// Throw common http errors here before we try to parse
if (releaseResponse.HttpResponse.HasHttpError)