Fix downloading releases without an indexer

(cherry picked from commit ca8b26138e3ebd793cc1a5fd51522ce3eda8a2e1)

Closes #2426
This commit is contained in:
Bogdan 2023-05-01 20:05:52 +03:00
parent db7bb14491
commit bea61edb4e
3 changed files with 9 additions and 3 deletions

View file

@ -63,7 +63,6 @@ public void DownloadReport(RemoteBook remoteBook)
// Get the seed configuration for this release.
remoteBook.SeedConfiguration = _seedConfigProvider.GetSeedConfiguration(remoteBook);
var indexer = _indexerFactory.GetInstance(_indexerFactory.Get(remoteBook.Release.IndexerId));
// Limit grabs to 2 per second.
if (remoteBook.Release.DownloadUrl.IsNotNullOrWhiteSpace() && !remoteBook.Release.DownloadUrl.StartsWith("magnet:"))
@ -72,6 +71,13 @@ public void DownloadReport(RemoteBook remoteBook)
_rateLimitService.WaitAndPulse(url.Host, TimeSpan.FromSeconds(2));
}
IIndexer indexer = null;
if (remoteBook.Release.IndexerId > 0)
{
indexer = _indexerFactory.GetInstance(_indexerFactory.Get(remoteBook.Release.IndexerId));
}
string downloadClientId;
try
{

View file

@ -127,7 +127,7 @@ private string DownloadFromWebUrl(RemoteBook remoteBook, IIndexer indexer, strin
try
{
var request = indexer.GetDownloadRequest(torrentUrl);
var request = indexer?.GetDownloadRequest(torrentUrl) ?? new HttpRequest(torrentUrl);
request.RateLimitKey = remoteBook?.Release?.IndexerId.ToString();
request.Headers.Accept = "application/x-bittorrent";
request.AllowAutoRedirect = false;

View file

@ -44,7 +44,7 @@ public override string Download(RemoteBook remoteBook, IIndexer indexer)
try
{
var request = indexer.GetDownloadRequest(url);
var request = indexer?.GetDownloadRequest(url) ?? new HttpRequest(url);
request.RateLimitKey = remoteBook?.Release?.IndexerId.ToString();
nzbData = _httpClient.Get(request).ResponseData;