PublicSuffixList

csharp
public sealed class PublicSuffixList

Namespace NodeWorld.SDK.Client.Flux.

The Public Suffix List (publicsuffix.org, Mozilla Public License 2.0; the file and its notice are in Resources/NodeWorld/): where the domain of a name starts. github.io is a public suffix, so the domain of x.helicityohno.github.io is helicityohno.github.io; the network gate keeps a choice for that domain and its subdomains. Rules as the list's own algorithm: the longest matching rule, wildcards (*.ck), exceptions (!www.ck), and * when no rule matches.

Constructors

PublicSuffixList

csharp
public PublicSuffixList(string text)

Reads the list's text (one rule per line, // comments, rules in Unicode or punycode).

Properties

Shared

csharp
public static PublicSuffixList Shared { get; }

The list shipped with the client (loaded the first time, on any thread).

Count

csharp
public int Count { get; }

Rules read (tests).

Methods

Preload

csharp
public static void Preload()

Reads the shipped file now (main thread: Resources cannot be read on another one); parsed at the first use.

PublicSuffix

csharp
public string PublicSuffix(string host)

The public suffix of an ASCII name in lower case ("co.uk" for "a.b.co.uk").

IsPublicSuffix

csharp
public bool IsPublicSuffix(string host)

The name is a public suffix itself (github.io, co.uk, com).

RegistrableDomain

csharp
public string RegistrableDomain(string host)

The domain the gate keeps a choice for: the public suffix and one more label; the name itself when it is a public suffix or has one label.