Enum url::Host [] [src]

pub enum Host {
    Domain(String),
    Ipv4(Ipv4Addr),
    Ipv6(Ipv6Addr),
}

The host name of an URL.

Variants

Domain

A (DNS) domain name.

Ipv4

A IPv4 address, represented by four sequences of up to three ASCII digits.

Ipv6

An IPv6 address, represented inside [...] square brackets so that : colon characters in the address are not ambiguous with the port number delimiter.

Methods

impl Host

fn parse(input: &str) -> ParseResult<Host>

Parse a host: either an IPv6 address in [] square brackets, or a domain.

Returns Err for an empty host, an invalid IPv6 address, or a or invalid non-ASCII domain.

FIXME: Add IDNA support for non-ASCII domains.

fn serialize(&self) -> String

Serialize the host as a string.

A domain a returned as-is, an IPv6 address between [] square brackets.

Trait Implementations

impl Display for Host

fn fmt(&self, f: &mut Formatter) -> Result

Derived Implementations

impl Ord for Host

fn cmp(&self, __arg_0: &Host) -> Ordering

impl PartialOrd for Host

fn partial_cmp(&self, __arg_0: &Host) -> Option<Ordering>

fn lt(&self, __arg_0: &Host) -> bool

fn le(&self, __arg_0: &Host) -> bool

fn gt(&self, __arg_0: &Host) -> bool

fn ge(&self, __arg_0: &Host) -> bool

impl Hash for Host

fn hash<__H: Hasher>(&self, __arg_0: &mut __H)

fn hash_slice<H>(data: &[Self], state: &mut H) where H: Hasher

impl Debug for Host

fn fmt(&self, __arg_0: &mut Formatter) -> Result

impl Clone for Host

fn clone(&self) -> Host

fn clone_from(&mut self, source: &Self)

impl Eq for Host

impl PartialEq for Host

fn eq(&self, __arg_0: &Host) -> bool

fn ne(&self, __arg_0: &Host) -> bool