public IChallengeHandler GetHandler(Challenge c, IReadOnlyDictionary<string, object> initParams)
{
var h = new IisChallengeHandler();
if (initParams == null)
initParams = new Dictionary<string, object>();
// Required params
if (!initParams.ContainsKey(WEB_SITE_REF.Name))
throw new KeyNotFoundException($"missing required parameter [{WEB_SITE_REF.Name}]");
h.WebSiteRef = (string)initParams[WEB_SITE_REF.Name];
// Optional params
if (initParams.ContainsKey(OVERRIDE_SITE_ROOT.Name))
h.OverrideSiteRoot = (string)initParams[OVERRIDE_SITE_ROOT.Name];
if (initParams.ContainsKey(SKIP_LOCAL_WEB_CONFIG.Name))
h.SkipLocalWebConfig = (bool)initParams[SKIP_LOCAL_WEB_CONFIG.Name];
return h;
}