Struct salvo_core::http::uri::Authority [−][src]
pub struct Authority { /* fields omitted */ }
Represents the authority component of a URI.
Implementations
impl Authority
[src]
impl Authority
[src]pub fn from_static(src: &'static str) -> Authority
[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<Authority, 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 FromStr for Authority
[src]
impl FromStr for Authority
[src]type Err = InvalidUri
The associated error which can be returned from parsing.
pub fn from_str(s: &str) -> Result<Authority, InvalidUri>
[src]
impl Hash for Authority
[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);
impl PartialEq<str> 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]
impl<'a> PartialOrd<&'a str> for Authority
[src]impl PartialOrd<Authority> 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");
pub 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]
impl PartialOrd<String> for Authority
[src]impl PartialOrd<str> for Authority
[src]
impl PartialOrd<str> for Authority
[src]Auto Trait Implementations
impl RefUnwindSafe for Authority
impl RefUnwindSafe for Authority
impl UnwindSafe for Authority
impl UnwindSafe for Authority
Blanket Implementations
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]pub fn equivalent(&self, key: &K) -> bool
[src]
impl<T> Instrument for T
[src]
impl<T> Instrument for T
[src]pub fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
[src]
Notable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
pub fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
[src]
Notable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,