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§
Source§impl Uri
impl Uri
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§
Source§impl<'de> Deserialize<'de> for Uri
impl<'de> Deserialize<'de> for Uri
Source§fn 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>,
Source§impl Ord for Uri
impl Ord for Uri
Source§impl PartialOrd for Uri
impl PartialOrd for Uri
Source§impl TryFrom<&str> for Uri
impl TryFrom<&str> for Uri
impl Eq for Uri
impl StructuralPartialEq for Uri
Auto Trait Implementations§
impl Freeze for Uri
impl RefUnwindSafe for Uri
impl Send for Uri
impl Sync for Uri
impl Unpin for Uri
impl UnwindSafe for Uri
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> FromResponse for Twhere
T: DeserializeOwned,
impl<T> FromResponse for Twhere
T: DeserializeOwned,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.