Struct publicsuffix::List
[−]
[src]
pub struct List { /* fields omitted */ }
Stores the public suffix list
You can use the methods, fetch
, from_url
or from_path
to build the list.
If you are using this in a long running server it's recommended you use either
fetch
or from_url
to download updates at least once a week.
Methods
impl List
[src]
fn empty() -> List
Creates an empty List without any rules
Sometimes all you want is to do syntax checks. If you don't really care whether the domain has a known suffix or not you can just create an empty list and use that to parse domain names and email addresses.
fn from_url<U: IntoUrl>(url: U) -> Result<List>
Pull the list from a URL
fn from_path<P: AsRef<Path>>(path: P) -> Result<List>
Fetch the list from a local file
fn from_reader<R: Read>(reader: R) -> Result<List>
Build the list from the result of anything that implements std::io::Read
If you don't already have your list on the filesystem but want to use your own library to fetch the list you can use this method so you don't have to save it first.
fn from_string(string: String) -> Result<List>
Build the list from a string
The list doesn't always have to come from a file. You can maintain your own list, say in a DBMS. You can then pull it at runtime and build the list from the resulting String.
fn fetch() -> Result<List>
Pull the list from the official URL
fn icann(&self) -> Vec<&str>
Gets a list of all ICANN domain suffices
fn private(&self) -> Vec<&str>
Gets a list of all private domain suffices
fn all(&self) -> Vec<&str>
Gets a list of all domain suffices
fn parse_domain(&self, domain: &str) -> Result<Domain>
Parses a domain using the list
fn parse_host(&self, host: &str) -> Result<Host>
Parses a host using the list
A host, for the purposes of this library, is either an IP address or a domain name.
fn parse_url<U: IntoUrl>(&self, url: U) -> Result<Host>
Extracts Host from a URL
fn parse_email(&self, address: &str) -> Result<Host>
Extracts Host from an email address
This method can also be used, simply to validate an email address. If it returns an error, the email address is not valid.
fn parse_str(&self, string: &str) -> Result<Host>
Parses any arbitrary string
Effectively this means that the string is either a URL, an email address or a host.
fn parse_dns_name(&self, name: &str) -> Result<DnsName>
Parses any arbitrary string that can be used as a key in a DNS database