Struct lychee_lib::Uri
source · [−]pub struct Uri { /* private fields */ }Expand description
Lychee’s own representation of a URI, which encapsulates all supported formats.
If the scheme is mailto, it’s a mail address.
Otherwise it’s treated as a website URL.
Implementations
sourceimpl Uri
impl Uri
sourcepub fn as_str(&self) -> &str
pub fn as_str(&self) -> &str
Returns the string representation of the Uri.
If it’s an email address, returns the string with scheme stripped. Otherwise returns the string as-is.
sourcepub fn path_segments(&self) -> Option<Split<'_, char>>
pub fn path_segments(&self) -> Option<Split<'_, char>>
Unless this URL is cannot-be-a-base, return an iterator of ‘/’ slash-separated path segments, each as a percent-encoded ASCII string.
Return None for cannot-be-a-base URLs.
sourcepub fn host_ip(&self) -> Option<IpAddr>
pub fn host_ip(&self) -> Option<IpAddr>
Returns the IP address (either IPv4 or IPv6) of the URI,
or None if it is a domain
sourcepub fn is_loopback(&self) -> bool
pub fn is_loopback(&self) -> bool
Returns true if this is a loopback address.
IPv4
This is a loopback address (127.0.0.0/8).
This property is defined by IETF RFC 1122.
IPv6
This is the loopback address (::1), as defined in IETF RFC 4291 section 2.5.3.
sourcepub fn is_private(&self) -> bool
pub fn is_private(&self) -> bool
Returns true if this is a private IPv4 address, a unique local IPv6 address (fc00::/7).
IPv4
The private address ranges are defined in IETF RFC 1918 and include:
10.0.0.0/8172.16.0.0/12192.168.0.0/16
IPv6
Unique local address is defined in IETF RFC 4193.
Note
Unicast site-local network was defined in IETF RFC 4291, but was fully deprecated in IETF RFC 3879. So it is NOT considered as private on this purpose.
sourcepub fn is_link_local(&self) -> bool
pub fn is_link_local(&self) -> bool
Returns true if the address is a link-local IPv4 address (169.254.0.0/16),
or an IPv6 unicast address with link-local scope (fe80::/10).
IPv4
Link-local address is defined by IETF RFC 3927.
IPv6
Unicast address with link-local scope is defined in IETF RFC 4291.
Trait Implementations
sourceimpl<'de> Deserialize<'de> for Uri
impl<'de> Deserialize<'de> for Uri
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl Ord for Uri
impl Ord for Uri
sourceimpl PartialOrd<Uri> for Uri
impl PartialOrd<Uri> for Uri
sourcefn partial_cmp(&self, other: &Uri) -> Option<Ordering>
fn partial_cmp(&self, other: &Uri) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
impl Eq for Uri
impl StructuralEq for Uri
impl StructuralPartialEq for Uri
Auto Trait Implementations
impl RefUnwindSafe for Uri
impl Send for Uri
impl Sync for Uri
impl Unpin for Uri
impl UnwindSafe for Uri
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key and return true if they are equal.
sourceimpl<T> FromResponse for T where
T: DeserializeOwned,
impl<T> FromResponse for T where
T: DeserializeOwned,
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<T> Pointable for T
impl<T> Pointable for T
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into)Uses borrowed data to replace owned data, usually by cloning. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more