summaryrefslogtreecommitdiffstats
path: root/src/main/Plugins/ValidationPlugins/Http/HttpValidationArgumentsProvider.cs
diff options
context:
space:
mode:
authorWouterTinus <wouter.tinus@gmail.com>2019-01-10 16:01:47 +0100
committerWouterTinus <wouter.tinus@gmail.com>2019-01-10 16:01:47 +0100
commitfa957b1a2ae06c1f603f47b22b8f46eb59e3a983 (patch)
tree368020b9e2d30342d13a7564aa466b5db6ed50c5 /src/main/Plugins/ValidationPlugins/Http/HttpValidationArgumentsProvider.cs
parentf1866f4297f056f3732c56d23f18bd0c8bf3b08e (diff)
downloadletsencrypt-win-simple-fa957b1a2ae06c1f603f47b22b8f46eb59e3a983.zip
letsencrypt-win-simple-fa957b1a2ae06c1f603f47b22b8f46eb59e3a983.tar.gz
letsencrypt-win-simple-fa957b1a2ae06c1f603f47b22b8f46eb59e3a983.tar.bz2
Store args and start with validation
Diffstat (limited to 'src/main/Plugins/ValidationPlugins/Http/HttpValidationArgumentsProvider.cs')
-rw-r--r--src/main/Plugins/ValidationPlugins/Http/HttpValidationArgumentsProvider.cs41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/main/Plugins/ValidationPlugins/Http/HttpValidationArgumentsProvider.cs b/src/main/Plugins/ValidationPlugins/Http/HttpValidationArgumentsProvider.cs
new file mode 100644
index 0000000..ca2eee2
--- /dev/null
+++ b/src/main/Plugins/ValidationPlugins/Http/HttpValidationArgumentsProvider.cs
@@ -0,0 +1,41 @@
+using Fclp;
+using PKISharp.WACS.Configuration;
+using PKISharp.WACS.Services;
+
+namespace PKISharp.WACS.Plugins.ValidationPlugins.Http
+{
+ abstract class HttpValidationArgumentsProvider<T> :
+ BaseArgumentsProvider<T>
+ where T : HttpValidationArguments, new()
+ {
+ public override string Group => "Validation";
+ public override void Configure(FluentCommandLineParser<T> parser)
+ {
+ parser.Setup(o => o.WebRoot)
+ .As("webroot")
+ .WithDescription("A web root to use for HTTP validation.");
+ parser.Setup(o => o.Warmup)
+ .As("warmup")
+ .WithDescription("Warm up websites before attempting HTTP validation.");
+ parser.Setup(o => o.ManualTargetIsIIS)
+ .As("manualtargetisiis")
+ .WithDescription("Will the HTTP validation be handled by IIS?");
+ }
+
+ public override bool Validate(ILogService log, T current, MainArguments main)
+ {
+ var active =
+ !string.IsNullOrEmpty(current.WebRoot) ||
+ current.Warmup;
+ if (main.Renew && active)
+ {
+ log.Error("Validation parameters cannot be changed during a renewal. Recreate/overwrite the renewal or edit the .json file if you want to make changes.");
+ return false;
+ }
+ else
+ {
+ return true;
+ }
+ }
+ }
+}