From 46fbe720be5ac7c5136ecd9a957e6086c0bce6bd Mon Sep 17 00:00:00 2001 From: simonefil Date: Thu, 12 Mar 2026 15:55:39 +0100 Subject: [PATCH] Apply suggestions from code review Co-authored-by: Bogdan --- src/NzbDrone.Core/Indexers/HttpIndexerBase.cs | 8 ++++---- src/NzbDrone.Core/Indexers/IndexerBaseSettings.cs | 9 +++++---- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/NzbDrone.Core/Indexers/HttpIndexerBase.cs b/src/NzbDrone.Core/Indexers/HttpIndexerBase.cs index 26c511a57..4ce6f61c3 100644 --- a/src/NzbDrone.Core/Indexers/HttpIndexerBase.cs +++ b/src/NzbDrone.Core/Indexers/HttpIndexerBase.cs @@ -662,10 +662,10 @@ protected virtual async Task FetchIndexerResponse(IndexerReques request.HttpRequest.SuppressHttpError = true; request.HttpRequest.Encoding ??= Encoding; - if (request.HttpRequest.RequestTimeout == TimeSpan.Zero && Settings.BaseSettings != null) - { - request.HttpRequest.RequestTimeout = TimeSpan.FromSeconds(Settings.BaseSettings.QueryTimeout); - } + if (request.HttpRequest.RequestTimeout == TimeSpan.Zero && Settings.BaseSettings is { QueryLimit: not null }) + { + request.HttpRequest.RequestTimeout = TimeSpan.FromSeconds(Settings.BaseSettings.QueryTimeout.Value); + } var response = await RetryStrategy .ExecuteAsync(static async (state, _) => await state._httpClient.ExecuteProxiedAsync(state.HttpRequest, state.Definition), (_httpClient, request.HttpRequest, Definition)) diff --git a/src/NzbDrone.Core/Indexers/IndexerBaseSettings.cs b/src/NzbDrone.Core/Indexers/IndexerBaseSettings.cs index 651aefe8f..fd8ba5ba2 100644 --- a/src/NzbDrone.Core/Indexers/IndexerBaseSettings.cs +++ b/src/NzbDrone.Core/Indexers/IndexerBaseSettings.cs @@ -17,9 +17,10 @@ public IndexerCommonSettingsValidator() .When(c => c.GrabLimit.HasValue) .WithMessage("Should be greater than zero"); - RuleFor(c => c.QueryTimeout) - .InclusiveBetween(1, 300) - .WithMessage("Must be between 1 and 300 seconds (5 minutes)"); + RuleFor(c => c.QueryTimeout) + .InclusiveBetween(1, 300) + .When(c => c.QueryLimit.HasValue) + .WithMessage("Must be between 1 and 300 seconds (5 minutes)"); } } @@ -35,7 +36,7 @@ public class IndexerBaseSettings public int LimitsUnit { get; set; } = (int)IndexerLimitsUnit.Day; [FieldDefinition(4, Type = FieldType.Number, Label = "IndexerSettingsQueryTimeout", Unit = "seconds", HelpText = "IndexerSettingsQueryTimeoutHelpText", Advanced = true)] - public int QueryTimeout { get; set; } = 100; + public int? QueryTimeout { get; set; } } public enum IndexerLimitsUnit