pub struct List { /* private fields */ }
Expand description
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.
Implementations§
Source§impl List
impl List
Sourcepub fn empty() -> List
pub 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.
Sourcepub fn from_reader<R: Read>(reader: R) -> Result<List>
pub 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.
Sourcepub fn from_string(string: String) -> Result<List>
pub 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.
Sourcepub fn from_str(string: &str) -> Result<List>
pub fn from_str(string: &str) -> Result<List>
Build the list from a str
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 str.
Sourcepub fn parse_domain(&self, domain: &str) -> Result<Domain>
pub fn parse_domain(&self, domain: &str) -> Result<Domain>
Parses a domain using the list
Sourcepub fn parse_host(&self, host: &str) -> Result<Host>
pub 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.
Sourcepub fn parse_email(&self, address: &str) -> Result<Host>
pub 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.
Sourcepub fn parse_str(&self, string: &str) -> Result<Host>
pub 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.
Sourcepub fn parse_dns_name(&self, name: &str) -> Result<DnsName>
pub fn parse_dns_name(&self, name: &str) -> Result<DnsName>
Parses any arbitrary string that can be used as a key in a DNS database