[−][src]Struct http::uri::Authority
Represents the authority component of a URI.
Implementations
impl Authority
[src]
pub fn from_static(src: &'static str) -> Self
[src]
Attempt to convert an Authority
from a static string.
This function will not perform any copying, and the string will be checked if it is empty or contains an invalid character.
Panics
This function panics if the argument contains invalid characters or is empty.
Examples
let authority = Authority::from_static("example.com"); assert_eq!(authority.host(), "example.com");
pub fn from_maybe_shared<T>(src: T) -> Result<Self, InvalidUri> where
T: AsRef<[u8]> + 'static,
[src]
T: AsRef<[u8]> + 'static,
Attempt to convert a Bytes
buffer to a Authority
.
This will try to prevent a copy if the type passed is the type used internally, and will copy the data if it is not.
pub fn host(&self) -> &str
[src]
Get the host of this Authority
.
The host subcomponent of authority is identified by an IP literal encapsulated within square brackets, an IPv4 address in dotted- decimal form, or a registered name. The host subcomponent is case-insensitive.
abc://username:password@example.com:123/path/data?key=value&key2=value2#fragid1
|---------|
|
host
Examples
let authority: Authority = "example.org:80".parse().unwrap(); assert_eq!(authority.host(), "example.org");
pub fn port(&self) -> Option<Port<&str>>
[src]
Get the port part of this Authority
.
The port subcomponent of authority is designated by an optional port
number following the host and delimited from it by a single colon (":")
character. It can be turned into a decimal port number with the as_u16
method or as a str
with the as_str
method.
abc://username:password@example.com:123/path/data?key=value&key2=value2#fragid1
|-|
|
port
Examples
Authority with port
let authority: Authority = "example.org:80".parse().unwrap(); let port = authority.port().unwrap(); assert_eq!(port.as_u16(), 80); assert_eq!(port.as_str(), "80");
Authority without port
let authority: Authority = "example.org".parse().unwrap(); assert!(authority.port().is_none());
pub fn port_u16(&self) -> Option<u16>
[src]
Get the port of this Authority
as a u16
.
Example
let authority: Authority = "example.org:80".parse().unwrap(); assert_eq!(authority.port_u16(), Some(80));
pub fn as_str(&self) -> &str
[src]
Return a str representation of the authority
Trait Implementations
impl AsRef<str> for Authority
[src]
impl Clone for Authority
[src]
impl Debug for Authority
[src]
impl Display for Authority
[src]
impl Eq for Authority
[src]
impl FromStr for Authority
[src]
type Err = InvalidUri
The associated error which can be returned from parsing.
fn from_str(s: &str) -> Result<Self, InvalidUri>
[src]
impl Hash for Authority
[src]
Case-insensitive hashing
Examples
let a: Authority = "HELLO.com".parse().unwrap(); let b: Authority = "hello.coM".parse().unwrap(); let mut s = DefaultHasher::new(); a.hash(&mut s); let a = s.finish(); let mut s = DefaultHasher::new(); b.hash(&mut s); let b = s.finish(); assert_eq!(a, b);
fn hash<H>(&self, state: &mut H) where
H: Hasher,
[src]
H: Hasher,
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl<'a> PartialEq<&'a str> for Authority
[src]
fn eq(&self, other: &&'a str) -> bool
[src]
#[must_use]pub fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialEq<Authority> for Authority
[src]
fn eq(&self, other: &Authority) -> bool
[src]
#[must_use]pub fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialEq<Authority> for str
[src]
fn eq(&self, other: &Authority) -> bool
[src]
#[must_use]pub fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl<'a> PartialEq<Authority> for &'a str
[src]
fn eq(&self, other: &Authority) -> bool
[src]
#[must_use]pub fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialEq<Authority> for String
[src]
fn eq(&self, other: &Authority) -> bool
[src]
#[must_use]pub fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialEq<String> for Authority
[src]
impl PartialEq<str> for Authority
[src]
Case-insensitive equality
Examples
let authority: Authority = "HELLO.com".parse().unwrap(); assert_eq!(authority, "hello.coM"); assert_eq!("hello.com", authority);
impl<'a> PartialOrd<&'a str> for Authority
[src]
fn partial_cmp(&self, other: &&'a str) -> Option<Ordering>
[src]
#[must_use]pub fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<Authority> for Authority
[src]
Case-insensitive ordering
Examples
let authority: Authority = "DEF.com".parse().unwrap(); assert!(authority < "ghi.com"); assert!(authority > "abc.com");
fn partial_cmp(&self, other: &Authority) -> Option<Ordering>
[src]
#[must_use]pub fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<Authority> for str
[src]
fn partial_cmp(&self, other: &Authority) -> Option<Ordering>
[src]
#[must_use]pub fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl<'a> PartialOrd<Authority> for &'a str
[src]
fn partial_cmp(&self, other: &Authority) -> Option<Ordering>
[src]
#[must_use]pub fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<Authority> for String
[src]
fn partial_cmp(&self, other: &Authority) -> Option<Ordering>
[src]
#[must_use]pub fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<String> for Authority
[src]
fn partial_cmp(&self, other: &String) -> Option<Ordering>
[src]
#[must_use]pub fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<str> for Authority
[src]
fn partial_cmp(&self, other: &str) -> Option<Ordering>
[src]
#[must_use]pub fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl<'a> TryFrom<&'a [u8]> for Authority
[src]
type Error = InvalidUri
The type returned in the event of a conversion error.
fn try_from(s: &'a [u8]) -> Result<Self, Self::Error>
[src]
impl<'a> TryFrom<&'a str> for Authority
[src]
Auto Trait Implementations
impl RefUnwindSafe for Authority
[src]
impl Send for Authority
[src]
impl Sync for Authority
[src]
impl Unpin for Authority
[src]
impl UnwindSafe for Authority
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,