public void ReadConfig() { Console.WriteLine("Read Config File: \"{0}\"", Path); //read YAML using (var reader = new StreamReader(Path)) { // Load the stream var yaml = new YamlStream(); yaml.Load(reader); // List all the items var mapping = (YamlMappingNode)yaml.Documents[0].RootNode; var items = (YamlSequenceNode)mapping.Children[new YamlScalarNode("config")]; foreach (YamlMappingNode item in items) { Config.Add(item.Children.First().Key.ToString(), item.Children.First().Value.ToString()); } items = (YamlSequenceNode)mapping.Children[new YamlScalarNode("authorization")]; foreach (YamlMappingNode item in items) { Authorization.Add(item.Children.First().Key.ToString(), item.Children.First().Value.ToString()); } items = (YamlSequenceNode)mapping.Children[new YamlScalarNode("styles")]; foreach (YamlMappingNode item in items) { Styles.Add(item.Children.First().Key.ToString(), item.Children.First().Value.ToString()); } if (mapping.Children.ContainsKey("environment")) { var node = (YamlScalarNode)mapping.Children[new YamlScalarNode("environment")]; Env = node.ToString(); if (mapping.Children.ContainsKey("exludedEnvVariables")) { items = (YamlSequenceNode)mapping.Children[new YamlScalarNode("exludedEnvVariables")]; foreach (YamlScalarNode item in items) { BlackList.Add(item.ToString()); } } } } }
/// <summary> /// Sets the access password. /// </summary> public void SetAccessPassword(string accessKeyName, string password, IEnumerable <AccessRights> rights) { lock (Authorization) { SharedAccessAuthorizationRule rule; if (Authorization.TryGetSharedAccessAuthorizationRule(accessKeyName, out rule)) { rule.PrimaryKey = password; rule.Rights = rights; } else { rule = new SharedAccessAuthorizationRule( accessKeyName, password, rights); Authorization.Add(rule); } } }