[−][src]Struct http::uri::Authority
Represents the authority component of a URI.
Methods
impl Authority
[src]
pub fn from_shared(s: Bytes) -> Result<Self, InvalidUriBytes>
[src]
Attempt to convert an Authority
from Bytes
.
This function will be replaced by a TryFrom
implementation once the
trait lands in stable.
Examples
extern crate bytes; use bytes::Bytes; let bytes = Bytes::from("example.com"); let authority = Authority::from_shared(bytes).unwrap(); assert_eq!(authority.host(), "example.com");
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 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_part(&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_part().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_part().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
pub fn into_bytes(self) -> Bytes
[src]
Converts this Authority
back to a sequence of bytes
Trait Implementations
impl HttpTryFrom<Bytes> for Authority
[src]
type Error = InvalidUriBytes
Associated error with the conversion this implementation represents.
fn try_from(bytes: Bytes) -> Result<Self, Self::Error>
[src]
impl<'a> HttpTryFrom<&'a [u8]> for Authority
[src]
type Error = InvalidUri
Associated error with the conversion this implementation represents.
fn try_from(s: &'a [u8]) -> Result<Self, Self::Error>
[src]
impl<'a> HttpTryFrom<&'a str> for Authority
[src]
type Error = InvalidUri
Associated error with the conversion this implementation represents.
fn try_from(s: &'a str) -> Result<Self, Self::Error>
[src]
impl HttpTryFrom<Authority> for Authority
[src]
type Error = Error
Associated error with the conversion this implementation represents.
fn try_from(t: Self) -> Result<Self, Self::Error>
[src]
impl Eq for Authority
[src]
impl Clone for Authority
[src]
impl AsRef<str> for Authority
[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]
fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]
fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]
fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]
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]
fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]
fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]
fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]
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]
fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]
fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]
fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]
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]
fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]
fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]
fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]
fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl<'a> PartialOrd<&'a str> for Authority
[src]
fn partial_cmp(&self, other: &&'a str) -> Option<Ordering>
[src]
#[must_use]
fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]
fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]
fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]
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]
fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]
fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]
fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]
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]
fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]
fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]
fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]
fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialEq<Authority> 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 PartialEq<Authority> for str
[src]
impl<'a> PartialEq<Authority> for &'a str
[src]
impl<'a> PartialEq<&'a str> for Authority
[src]
impl PartialEq<String> for Authority
[src]
impl PartialEq<Authority> for String
[src]
impl From<Authority> for Bytes
[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,
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl Debug for Authority
[src]
impl Display 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]
Auto Trait Implementations
impl Send for Authority
impl Unpin for Authority
impl Sync for Authority
impl UnwindSafe for Authority
impl RefUnwindSafe for Authority
Blanket Implementations
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for 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.
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>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,