public async Task <IReadOnlyList <DnsZone> > ListZonesAsync() { var zones = await _cloudflareDnsClient.ListAllZonesAsync(); // Zone API は Punycode されていない値を返すのでエンコードが必要 return(zones.Select(x => new DnsZone { Id = x.Id, Name = Punycode.Encode(x.Name) }).ToArray()); }
public static String CanonicalDomain(String str) { if (str != null) { // See: S4.1.2.3 & S5.2.3: ignore leading . str = str.Trim().TrimStart('.'); if (NonAscii.IsMatch(str)) { str = Punycode.Encode(str); } return(str.ToLowerInvariant()); } return(str); }
public void Encode(string description, string decoded, string encoded) => Assert.Equal(encoded, Punycode.Encode(decoded));