summaryrefslogtreecommitdiffstats
path: root/src/main.lib/Plugins/ValidationPlugins/Http/WebDav/WebDavOptionsFactory.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.lib/Plugins/ValidationPlugins/Http/WebDav/WebDavOptionsFactory.cs')
-rw-r--r--src/main.lib/Plugins/ValidationPlugins/Http/WebDav/WebDavOptionsFactory.cs47
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)
+ };
+ }
+ }
+}