Fixed: (IPTorrents) Allow UA override for CF

Fixes #842
Fixes #809
This commit is contained in:
Qstick
2022-07-03 17:23:47 -05:00
parent d2c1ffa761
commit 59b7435820
2 changed files with 22 additions and 1 deletions

View File

@@ -200,6 +200,8 @@ namespace NzbDrone.Core.Indexers.Definitions
var request = new IndexerRequest(searchUrl, HttpAccept.Html);
request.HttpRequest.Headers.UserAgent = Settings.UserAgent;
yield return request;
}
@@ -349,13 +351,32 @@ namespace NzbDrone.Core.Indexers.Definitions
public Action<IDictionary<string, string>, DateTime?> CookiesUpdater { get; set; }
}
public class IPTorrentsSettingsValidator : AbstractValidator<IPTorrentsSettings>
{
public IPTorrentsSettingsValidator()
{
RuleFor(c => c.UserAgent).NotEmpty();
RuleFor(c => c.Cookie).NotEmpty();
}
}
public class IPTorrentsSettings : CookieTorrentBaseSettings
{
public IPTorrentsSettings()
{
}
private static readonly IPTorrentsSettingsValidator Validator = new IPTorrentsSettingsValidator();
[FieldDefinition(2, Label = "Cookie User-Agent", Type = FieldType.Textbox, HelpText = "User-Agent associated with cookie used from Browser")]
public string UserAgent { get; set; }
[FieldDefinition(3, Label = "FreeLeech Only", Type = FieldType.Checkbox, Advanced = true, HelpText = "Search Freeleech torrents only")]
public bool FreeLeechOnly { get; set; }
public override NzbDroneValidationResult Validate()
{
return new NzbDroneValidationResult(Validator.Validate(this));
}
}
}

View File

@@ -33,7 +33,7 @@ namespace NzbDrone.Core.Indexers.Settings
[FieldDefinition(4)]
public IndexerTorrentBaseSettings TorrentBaseSettings { get; set; } = new IndexerTorrentBaseSettings();
public NzbDroneValidationResult Validate()
public virtual NzbDroneValidationResult Validate()
{
return new NzbDroneValidationResult(Validator.Validate(this));
}