[−][src]Enum uriparse::scheme::Scheme
The scheme component as defined in
[RFC3986, Section 3.5]. The schemes
listed here come from
iana.org. Any scheme
not listed there is considered unregistered and will be contained in
[Scheme::UnregisteredScheme
].
An unregistered scheme is case-insensitive. Furthermore, percent-encoding is not allowed in schemes.
Variants (Non-exhaustive)
Unregistered(UnregisteredScheme<'scheme>)
Implementations
impl<'_> Scheme<'_>
[src]
pub fn is_normalized(&self) -> bool
[src]
Returns whether the scheme is normalized.
A normalized scheme will be all lowercase. All standardized schemes are always considered normalized regardless of what source they were parsed from.
This function returns in constant-time.
Examples
use std::convert::TryFrom; use uriparse::Scheme; let scheme = Scheme::try_from("http").unwrap(); assert!(scheme.is_normalized()); let scheme = Scheme::try_from("HTTP").unwrap(); assert!(scheme.is_normalized()); let mut scheme = Scheme::try_from("MyScHeMe").unwrap(); assert!(!scheme.is_normalized()); scheme.normalize(); assert!(scheme.is_normalized());
pub fn normalize(&mut self)
[src]
Normalizes the scheme so that it is all lowercase.
Examples
use std::convert::TryFrom; use uriparse::Scheme; let mut scheme = Scheme::try_from("http").unwrap(); scheme.normalize(); assert_eq!(scheme, "http"); let mut scheme = Scheme::try_from("MyScHeMe").unwrap(); scheme.normalize(); assert_eq!(scheme, "myscheme");
impl<'scheme> Scheme<'scheme>
[src]
pub fn as_borrowed(&self) -> Scheme<'_>
[src]
Returns a new scheme which is identical but has a lifetime tied to this scheme.
pub fn as_str(&self) -> &str
[src]
Returns a str
representation of the scheme.
The case of the scheme will be lowercase if it was a registered scheme. Otherwise, the string representation will be exactly that of the original string including case-sensitivity.
Examples
use std::convert::TryFrom; use uriparse::Scheme; assert_eq!(Scheme::HTTP.as_str(), "http"); let scheme = Scheme::try_from("TEST-scheme").unwrap(); assert_eq!(scheme.as_str(), "TEST-scheme");
pub fn into_owned(self) -> Scheme<'static>
[src]
Converts the Scheme
into an owned copy.
If you construct the scheme from a source with a non-static lifetime, you may run into lifetime problems due to the way it is designed. Calling this function will ensure that the returned value has a static lifetime.
This is different from just cloning. Cloning the scheme will just copy the references (in the case of an unregistered scheme), and thus the lifetime will remain the same.
pub fn status(&self) -> SchemeStatus
[src]
Returns the registration status of the scheme.
Examples
use uriparse::{Scheme, SchemeStatus}; assert_eq!(Scheme::HTTP.status(), SchemeStatus::Permanent);
Trait Implementations
impl<'_> AsRef<[u8]> for Scheme<'_>
[src]
impl<'_> AsRef<str> for Scheme<'_>
[src]
impl<'scheme> Clone for Scheme<'scheme>
[src]
impl<'scheme> Debug for Scheme<'scheme>
[src]
impl<'_> Display for Scheme<'_>
[src]
impl<'scheme> Eq for Scheme<'scheme>
[src]
impl<'scheme> From<Scheme<'scheme>> for String
[src]
impl<'scheme> Hash for Scheme<'scheme>
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl<'a, '_> PartialEq<&'a str> for Scheme<'_>
[src]
impl<'scheme> PartialEq<Scheme<'scheme>> for str
[src]
fn eq(&self, other: &Scheme<'scheme>) -> bool
[src]
#[must_use]fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl<'a, 'scheme> PartialEq<Scheme<'scheme>> for &'a str
[src]
fn eq(&self, other: &Scheme<'scheme>) -> bool
[src]
#[must_use]fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl<'scheme> PartialEq<Scheme<'scheme>> for Scheme<'scheme>
[src]
fn eq(&self, other: &Scheme<'scheme>) -> bool
[src]
fn ne(&self, other: &Scheme<'scheme>) -> bool
[src]
impl<'_> PartialEq<str> for Scheme<'_>
[src]
impl<'scheme> StructuralEq for Scheme<'scheme>
[src]
impl<'scheme> StructuralPartialEq for Scheme<'scheme>
[src]
impl<'scheme> TryFrom<&'scheme [u8]> for Scheme<'scheme>
[src]
type Error = SchemeError
The type returned in the event of a conversion error.
fn try_from(value: &'scheme [u8]) -> Result<Scheme<'scheme>, Self::Error>
[src]
impl<'scheme> TryFrom<&'scheme str> for Scheme<'scheme>
[src]
Auto Trait Implementations
impl<'scheme> RefUnwindSafe for Scheme<'scheme>
impl<'scheme> Send for Scheme<'scheme>
impl<'scheme> Sync for Scheme<'scheme>
impl<'scheme> Unpin for Scheme<'scheme>
impl<'scheme> UnwindSafe for Scheme<'scheme>
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,
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.
fn to_owned(&self) -> T
[src]
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.
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>,