Make sure URL base doesn't start with http or https

Closes #532
This commit is contained in:
Mark McDowall 2015-05-21 17:12:33 -07:00
parent f547cfd0c9
commit 49acae0fbb
3 changed files with 10 additions and 2 deletions

View File

@ -42,6 +42,9 @@ namespace NzbDrone.Api.Config
.ValidIp4Address()
.NotListenAllIp4Address()
.When(c => c.BindAddress != "*");
SharedValidator.RuleFor(c => c.UrlBase)
.ValidUrlBase();
}
private HostConfigResource GetHostConfig()

View File

@ -62,5 +62,10 @@ namespace NzbDrone.Core.Validation
{
return ruleBuilder.WithState(v => NzbDroneValidationState.Warning);
}
public static IRuleBuilderOptions<T, string> ValidUrlBase<T>(this IRuleBuilder<T, string> ruleBuilder)
{
return ruleBuilder.SetValidator(new RegularExpressionValidator(@"^(?!\/?https?://[-a-z0-9.]+)", RegexOptions.IgnoreCase)).WithMessage("Must be a valid URL path (ie: '/sonarr')");
}
}
}