public IEnumerable <Node> ToNodes(bool forceHttp = false) { foreach (var kv in nodes.Where(n => n.Value.HttpEnabled)) { var info = kv.Value; var httpEndpoint = info.http?.publish_address; if (string.IsNullOrWhiteSpace(httpEndpoint)) { httpEndpoint = kv.Value.http?.bound_address.FirstOrDefault(); } if (string.IsNullOrWhiteSpace(httpEndpoint)) { continue; } var uri = SniffParser.ParseToUri(httpEndpoint, forceHttp); var node = new Node(uri) { Name = info.name, Id = kv.Key, MasterEligible = info.MasterEligible, HoldsData = info.HoldsData, IngestEnabled = info.IngestEnabled, HttpEnabled = info.HttpEnabled, Settings = new ReadOnlyDictionary <string, object>(info.settings) }; yield return(node); } }
public IEnumerable <Node> ToNodes(bool forceHttp = false) { foreach (var kv in nodes.Where(n => n.Value.HttpEnabled)) { var info = kv.Value; var httpEndpoint = info.http?.publish_address; if (string.IsNullOrWhiteSpace(httpEndpoint)) { httpEndpoint = kv.Value.http?.bound_address.FirstOrDefault(); } if (string.IsNullOrWhiteSpace(httpEndpoint)) { continue; } var uri = SniffParser.ParseToUri(httpEndpoint, forceHttp); var node = new Node(uri) { Name = kv.Value.name, Id = kv.Key, MasterEligible = kv.Value.MasterEligible, HoldsData = kv.Value.HoldsData, HttpEnabled = kv.Value.HttpEnabled }; //TODO selector yield return(node); } }