[][src]Struct publicsuffix::List

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]

pub fn empty() -> List[src]

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.

pub fn from_url<U: IntoUrl>(url: U) -> Result<List>[src]

Pull the list from a URL

pub fn from_path<P: AsRef<Path>>(path: P) -> Result<List>[src]

Fetch the list from a local file

pub fn from_reader<R: Read>(reader: R) -> Result<List>[src]

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.

pub fn from_string(string: String) -> Result<List>[src]

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.

pub fn from_str(string: &str) -> Result<List>[src]

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.

pub fn fetch() -> Result<List>[src]

Pull the list from the official URL

pub fn icann(&self) -> Vec<&str>[src]

Gets a list of all ICANN domain suffices

pub fn private(&self) -> Vec<&str>[src]

Gets a list of all private domain suffices

pub fn all(&self) -> Vec<&str>[src]

Gets a list of all domain suffices

pub fn parse_domain(&self, domain: &str) -> Result<Domain>[src]

Parses a domain using the list

pub fn parse_host(&self, host: &str) -> Result<Host>[src]

Parses a host using the list

A host, for the purposes of this library, is either an IP address or a domain name.

pub fn parse_url<U: IntoUrl>(&self, url: U) -> Result<Host>[src]

Extracts Host from a URL

pub fn parse_email(&self, address: &str) -> Result<Host>[src]

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.

pub fn parse_str(&self, string: &str) -> Result<Host>[src]

Parses any arbitrary string

Effectively this means that the string is either a URL, an email address or a host.

pub fn parse_dns_name(&self, name: &str) -> Result<DnsName>[src]

Parses any arbitrary string that can be used as a key in a DNS database

Trait Implementations

impl Debug for List[src]

Auto Trait Implementations

impl Send for List

impl Sync for List

impl Unpin for List

impl UnwindSafe for List

impl RefUnwindSafe for List

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,