private static void WriteConfig(ConfigSection config, CommandLineOptions model) { if (model.Port != null) { config.SetNumber("port", model.Port.GetValueOrDefault()); } if (model.Directory != null) { config.SetString("directory", model.Directory); } if (model.OpenBrowser != null) { config.SetBoolean("open-browser", model.OpenBrowser.Value); } if (model.Quiet != null) { config.SetBoolean("quiet", model.Quiet.Value); } if (model.Verbose != null) { config.SetBoolean("verbose", model.Verbose.Value); } if (model.CertPemPath != null) { config.SetString("cert", model.CertPemPath); } if (model.PrivateKeyPath != null) { config.SetString("key", model.PrivateKeyPath); } if (model.CertPfxPath != null) { config.SetString("pfx", model.CertPfxPath); } if (model.CertificatePassword != null) { config.SetString("pfx-pwd", model.CertificatePassword); } if (model.UseGzip != null) { config.SetBoolean("gzip", model.UseGzip.Value); } if (model.UseBrotli != null) { config.SetBoolean("brotli", model.UseBrotli.Value); } if (model.EnableCors != null) { config.SetBoolean("cors", model.EnableCors.Value); } if (model.Headers != null) { foreach (var header in model.Headers) { config.AddString("header", header); } } if (model.MimeMappings != null) { foreach (var mime in model.MimeMappings) { config.AddString("mime", mime); } } foreach (var excluded in model.ExcludedFiles) { config.AddString("exclude-file", excluded); } }