diff --git a/src/Microsoft.AspNet.Abstractions/HostString.cs b/src/Microsoft.AspNet.Abstractions/HostString.cs index 0847c7421e..f127eddaad 100644 --- a/src/Microsoft.AspNet.Abstractions/HostString.cs +++ b/src/Microsoft.AspNet.Abstractions/HostString.cs @@ -193,5 +193,199 @@ namespace Microsoft.AspNet.Abstractions { return !left.Equals(right); } + +#if K10 + internal class IdnMapping + { + // + // Summary: + // Encodes a string of domain name labels that consist of Unicode characters + // to a string of displayable Unicode characters in the US-ASCII character range. + // The string is formatted according to the IDNA standard. + // + // Parameters: + // unicode: + // The string to convert, which consists of one or more domain name labels delimited + // with label separators. + // + // Returns: + // The equivalent of the string specified by the unicode parameter, consisting + // of displayable Unicode characters in the US-ASCII character range (U+0020 + // to U+007E) and formatted according to the IDNA standard. + // + // Exceptions: + // System.ArgumentNullException: + // unicode is null. + // + // System.ArgumentException: + // unicode is invalid based on the System.Globalization.IdnMapping.AllowUnassigned + // and System.Globalization.IdnMapping.UseStd3AsciiRules properties, and the + // IDNA standard. + public string GetAscii(string unicode) { throw new NotImplementedException(); } + + // + // Summary: + // Encodes a substring of domain name labels that include Unicode characters + // outside the US-ASCII character range. The substring is converted to a string + // of displayable Unicode characters in the US-ASCII character range and is + // formatted according to the IDNA standard. + // + // Parameters: + // unicode: + // The string to convert, which consists of one or more domain name labels delimited + // with label separators. + // + // index: + // A zero-based offset into unicode that specifies the start of the substring + // to convert. The conversion operation continues to the end of the unicode + // string. + // + // Returns: + // The equivalent of the substring specified by the unicode and index parameters, + // consisting of displayable Unicode characters in the US-ASCII character range + // (U+0020 to U+007E) and formatted according to the IDNA standard. + // + // Exceptions: + // System.ArgumentNullException: + // unicode is null. + // + // System.ArgumentOutOfRangeException: + // index is less than zero.-or-index is greater than the length of unicode. + // + // System.ArgumentException: + // unicode is invalid based on the System.Globalization.IdnMapping.AllowUnassigned + // and System.Globalization.IdnMapping.UseStd3AsciiRules properties, and the + // IDNA standard. + public string GetAscii(string unicode, int index) { throw new NotImplementedException(); } + + // + // Summary: + // Encodes the specified number of characters in a substring of domain name + // labels that include Unicode characters outside the US-ASCII character range. + // The substring is converted to a string of displayable Unicode characters + // in the US-ASCII character range and is formatted according to the IDNA standard. + // + // Parameters: + // unicode: + // The string to convert, which consists of one or more domain name labels delimited + // with label separators. + // + // index: + // A zero-based offset into unicode that specifies the start of the substring. + // + // count: + // The number of characters to convert in the substring that starts at the position + // specified by index in the unicode string. + // + // Returns: + // The equivalent of the substring specified by the unicode, index, and count + // parameters, consisting of displayable Unicode characters in the US-ASCII + // character range (U+0020 to U+007E) and formatted according to the IDNA standard. + // + // Exceptions: + // System.ArgumentNullException: + // unicode is null. + // + // System.ArgumentOutOfRangeException: + // index or count is less than zero.-or-index is greater than the length of + // unicode.-or-index is greater than the length of unicode minus count. + // + // System.ArgumentException: + // unicode is invalid based on the System.Globalization.IdnMapping.AllowUnassigned + // and System.Globalization.IdnMapping.UseStd3AsciiRules properties, and the + // IDNA standard. + public string GetAscii(string unicode, int index, int count) { throw new NotImplementedException(); } + + // + // Summary: + // Decodes a string of one or more domain name labels, encoded according to + // the IDNA standard, to a string of Unicode characters. + // + // Parameters: + // ascii: + // The string to decode, which consists of one or more labels in the US-ASCII + // character range (U+0020 to U+007E) encoded according to the IDNA standard. + // + // Returns: + // The Unicode equivalent of the IDNA substring specified by the ascii parameter. + // + // Exceptions: + // System.ArgumentNullException: + // ascii is null. + // + // System.ArgumentException: + // ascii is invalid based on the System.Globalization.IdnMapping.AllowUnassigned + // and System.Globalization.IdnMapping.UseStd3AsciiRules properties, and the + // IDNA standard. + public string GetUnicode(string ascii) { throw new NotImplementedException(); } + + // + // Summary: + // Decodes a substring of one or more domain name labels, encoded according + // to the IDNA standard, to a string of Unicode characters. + // + // Parameters: + // ascii: + // The string to decode, which consists of one or more labels in the US-ASCII + // character range (U+0020 to U+007E) encoded according to the IDNA standard. + // + // index: + // A zero-based offset into ascii that specifies the start of the substring + // to decode. The decoding operation continues to the end of the ascii string. + // + // Returns: + // The Unicode equivalent of the IDNA substring specified by the ascii and index + // parameters. + // + // Exceptions: + // System.ArgumentNullException: + // ascii is null. + // + // System.ArgumentOutOfRangeException: + // index is less than zero.-or-index is greater than the length of ascii. + // + // System.ArgumentException: + // ascii is invalid based on the System.Globalization.IdnMapping.AllowUnassigned + // and System.Globalization.IdnMapping.UseStd3AsciiRules properties, and the + // IDNA standard. + public string GetUnicode(string ascii, int index) { throw new NotImplementedException(); } + + // + // Summary: + // Decodes a substring of a specified length that contains one or more domain + // name labels, encoded according to the IDNA standard, to a string of Unicode + // characters. + // + // Parameters: + // ascii: + // The string to decode, which consists of one or more labels in the US-ASCII + // character range (U+0020 to U+007E) encoded according to the IDNA standard. + // + // index: + // A zero-based offset into ascii that specifies the start of the substring. + // + // count: + // The number of characters to convert in the substring that starts at the position + // specified by index in the ascii string. + // + // Returns: + // The Unicode equivalent of the IDNA substring specified by the ascii, index, + // and count parameters. + // + // Exceptions: + // System.ArgumentNullException: + // ascii is null. + // + // System.ArgumentOutOfRangeException: + // index or count is less than zero.-or-index is greater than the length of + // ascii.-or-index is greater than the length of ascii minus count. + // + // System.ArgumentException: + // ascii is invalid based on the System.Globalization.IdnMapping.AllowUnassigned + // and System.Globalization.IdnMapping.UseStd3AsciiRules properties, and the + // IDNA standard. + public string GetUnicode(string ascii, int index, int count) { throw new NotImplementedException(); } + } +#endif } }