示例#1
0
        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());
        }
示例#2
0
        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);
        }
示例#3
0
 public void Encode(string description, string decoded, string encoded) =>
 Assert.Equal(encoded, Punycode.Encode(decoded));