using Microsoft.Extensions.Options;
namespace BinaryLane.Api.V2.Configuration;
/// Validates client options at application startup.
public sealed class BinaryLaneOptionsValidator : IValidateOptions
{
///
public ValidateOptionsResult Validate(string? name, BinaryLaneOptions options)
{
if (options is null)
{
return ValidateOptionsResult.Fail("BinaryLane options are required.");
}
if (!BinaryLaneOptions.IsValid(options))
{
return ValidateOptionsResult.Fail(
"BinaryLane BaseUrl must be an absolute HTTPS URL and RequestTimeoutSeconds must be between 1 and 300.");
}
return ValidateOptionsResult.Success;
}
}