Module idna::uts46

source ·
Expand description

This module provides the lower-level API for UTS 46.

Uts46::process is the core that the other convenience methods build on.

UTS 46 flags map to this API as follows:

  • CheckHyphens - true: Hyphens::Check, false: Hyphens::Allow; the WHATWG URL Standard sets this to false for normal (non-conformance-checker) user agents.
  • CheckBidi - Always true; cannot be configured, since this flag is true even when WHATWG URL Standard beStrict is false.
  • CheckJoiners - Always true; cannot be configured, since this flag is true even when WHATWG URL Standard beStrict is false.
  • UseSTD3ASCIIRules - true: AsciiDenyList::STD3, false: AsciiDenyList::EMPTY; however, the check the WHATWG URL Standard performs right after the UTS 46 invocation corresponds to AsciiDenyList::URL.
  • Transitional_Processing - Always false but could be implemented as a preprocessing step. This flag is deprecated and for Web purposes the transition is over in the sense that all of Firefox, Safari, or Chrome set this flag to false.
  • VerifyDnsLength - true: DnsLength::Verify, false: DnsLength::Ignore; the WHATWG URL Standard sets this to false for normal (non-conformance-checker) user agents.
  • IgnoreInvalidPunycode - Always false; cannot be configured. (Not yet covered by the WHATWG URL Standard, but 2 out of 3 major browser clearly behave as if this was false).

Structs§

Enums§

Functions§

  • Performs the VerifyDNSLength check on the output of the ToASCII operation.