diff options
Diffstat (limited to 'src/main.lib/Plugins/ValidationPlugins/Http/WebDav/WebDavOptionsFactory.cs')
-rw-r--r-- | src/main.lib/Plugins/ValidationPlugins/Http/WebDav/WebDavOptionsFactory.cs | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/main.lib/Plugins/ValidationPlugins/Http/WebDav/WebDavOptionsFactory.cs b/src/main.lib/Plugins/ValidationPlugins/Http/WebDav/WebDavOptionsFactory.cs new file mode 100644 index 0000000..d77d5d7 --- /dev/null +++ b/src/main.lib/Plugins/ValidationPlugins/Http/WebDav/WebDavOptionsFactory.cs @@ -0,0 +1,47 @@ +using PKISharp.WACS.Clients.IIS; +using PKISharp.WACS.Configuration; +using PKISharp.WACS.DomainObjects; +using PKISharp.WACS.Services; + +namespace PKISharp.WACS.Plugins.ValidationPlugins.Http +{ + internal class WebDavOptionsFactory : HttpValidationOptionsFactory<WebDav, WebDavOptions> + { + public WebDavOptionsFactory(IArgumentsService arguments) : base(arguments) { } + + public override bool PathIsValid(string webRoot) + { + return + webRoot.StartsWith("\\\\") || + webRoot.StartsWith("dav://") || + webRoot.StartsWith("webdav://") || + webRoot.StartsWith("https://") || + webRoot.StartsWith("http://"); + } + + public override string[] WebrootHint(bool allowEmtpy) + { + return new[] { + "Enter a webdav path that leads to the web root of the host for http authentication", + " Example, \\\\domain.com:80\\", + " Example, \\\\domain.com:443\\" + }; + } + + public override WebDavOptions Default(Target target) + { + return new WebDavOptions(BaseDefault(target)) + { + Credential = new NetworkCredentialOptions(_arguments) + }; + } + + public override WebDavOptions Aquire(Target target, IInputService inputService, RunLevel runLevel) + { + return new WebDavOptions(BaseAquire(target, inputService, runLevel)) + { + Credential = new NetworkCredentialOptions(_arguments, inputService) + }; + } + } +} |