Implements preparation of internationalized domain names.

This class implements preparing internationalized domain names using the rules defined in RFC 3491, section 4 (Conversion operations).

We do not perform step 4 since we deal with unicode representations of domain names and do not convert from or to ASCII representations using punycode encoding. When such a conversion is needed, the idna standard library provides the ToUnicode() and ToASCII() functions. Note that idna itself assumes UseSTD3ASCIIRules to be false.

The following steps are performed by prepare():

  • Split the domain name in labels at the dots (RFC 3490, 3.1)
  • Apply nameprep proper on each label (RFC 3491)
  • Enforce the restrictions on ASCII characters in host names by assuming STD3ASCIIRules to be true. (STD 3)
  • Rejoin the labels using the label separator U+002E (full stop).
Method prepare Undocumented
Method check_prohibiteds Undocumented
Method nameprep Undocumented
def prepare(self, string): (source)
def check_prohibiteds(self, string): (source)
def nameprep(self, label): (source)
API Documentation for Twisted, generated by pydoctor at 2019-08-06 12:10:50.