[−][src]Struct rocket_contrib::uuid::Uuid
Implements FromParam
and FromFormValue
for accepting UUID values.
Usage
To use, add the uuid
feature to the rocket_contrib
dependencies section
of your Cargo.toml
:
[dependencies.rocket_contrib]
version = "0.4.2"
default-features = false
features = ["uuid"]
You can use the Uuid
type directly as a target of a dynamic parameter:
use rocket_contrib::uuid::Uuid; #[get("/users/<id>")] fn user(id: Uuid) -> String { format!("We found: {}", id) }
You can also use the Uuid
as a form value, including in query strings:
use rocket_contrib::uuid::Uuid; #[get("/user?<id>")] fn user(id: Uuid) -> String { format!("User ID: {}", id) }
Methods
impl Uuid
[src]
pub fn into_inner(self) -> Uuid
[src]
Consumes the Uuid wrapper, returning the underlying Uuid
type.
Example
use rocket_contrib::uuid::{uuid_crate, Uuid}; let uuid_str = "c1aa1e3b-9614-4895-9ebd-705255fa5bc2"; let real_uuid = uuid_crate::Uuid::from_str(uuid_str).unwrap(); let my_inner_uuid = Uuid::from_str(uuid_str) .expect("valid UUID string") .into_inner(); assert_eq!(real_uuid, my_inner_uuid);
Methods from Deref<Target = Uuid>
pub fn to_hyphenated_ref(&self) -> HyphenatedRef
[src]
Creates a HyphenatedRef
instance from a Uuid
reference.
pub fn to_simple_ref(&self) -> SimpleRef
[src]
pub fn to_urn_ref(&self) -> UrnRef
[src]
pub const NAMESPACE_DNS: Uuid
[src]
pub const NAMESPACE_OID: Uuid
[src]
pub const NAMESPACE_URL: Uuid
[src]
pub const NAMESPACE_X500: Uuid
[src]
pub fn get_variant(&self) -> Option<Variant>
[src]
Returns the variant of the Uuid
structure.
This determines the interpretation of the structure of the UUID. Currently only the RFC4122 variant is generated by this module.
pub fn get_version_num(&self) -> usize
[src]
Returns the version number of the Uuid
.
This represents the algorithm used to generate the contents.
Currently only the Random (V4) algorithm is supported by this module. There are security and privacy implications for using older versions - see Wikipedia: Universally Unique Identifier for details.
pub fn get_version(&self) -> Option<Version>
[src]
Returns the version of the Uuid
.
This represents the algorithm used to generate the contents
pub fn as_fields(&self) -> (u32, u16, u16, &[u8; 8])
[src]
Returns the four field values of the UUID in big-endian order.
These values can be passed to the from_fields()
method to get the
original Uuid
back.
- The first field value represents the first group of (eight) hex
digits, taken as a big-endian
u32
value. For V1 UUIDs, this field represents the low 32 bits of the timestamp. - The second field value represents the second group of (four) hex
digits, taken as a big-endian
u16
value. For V1 UUIDs, this field represents the middle 16 bits of the timestamp. - The third field value represents the third group of (four) hex digits,
taken as a big-endian
u16
value. The 4 most significant bits give the UUID version, and for V1 UUIDs, the last 12 bits represent the high 12 bits of the timestamp. - The last field value represents the last two groups of four and twelve hex digits, taken in order. The first 1-3 bits of this indicate the UUID variant, and for V1 UUIDs, the next 13-15 bits indicate the clock sequence and the last 48 bits indicate the node ID.
Examples
use uuid::Uuid; let uuid = Uuid::nil(); assert_eq!(uuid.as_fields(), (0, 0, 0, &[0u8; 8])); let uuid = Uuid::parse_str("936DA01F-9ABD-4D9D-80C7-02AF85C822A8").unwrap(); assert_eq!( uuid.as_fields(), ( 0x936DA01F, 0x9ABD, 0x4D9D, b"\x80\xC7\x02\xAF\x85\xC8\x22\xA8" ) );
pub fn to_fields_le(&self) -> (u32, u16, u16, &[u8; 8])
[src]
Returns the four field values of the UUID in little-endian order.
The bytes in the returned integer fields will be converted from big-endian order.
Examples
use uuid::Uuid; let uuid = Uuid::parse_str("936DA01F-9ABD-4D9D-80C7-02AF85C822A8").unwrap(); assert_eq!( uuid.to_fields_le(), ( 0x1FA06D93, 0xBD9A, 0x9D4D, b"\x80\xC7\x02\xAF\x85\xC8\x22\xA8" ) );
pub fn as_bytes(&self) -> &[u8; 16]
[src]
Returns an array of 16 octets containing the UUID data.
This method wraps [Uuid::as_bytes
]
pub fn to_timestamp(&self) -> Option<(u64, u16)>
[src]
Returns an Optional Tuple of (u64, u16) representing the timestamp and counter portion of a V1 UUID. If the supplied UUID is not V1, this will return None
pub fn is_nil(&self) -> bool
[src]
Tests if the UUID is nil
Trait Implementations
impl PartialOrd<Uuid> for Uuid
[src]
fn partial_cmp(&self, other: &Uuid) -> Option<Ordering>
[src]
fn lt(&self, other: &Uuid) -> bool
[src]
fn le(&self, other: &Uuid) -> bool
[src]
fn gt(&self, other: &Uuid) -> bool
[src]
fn ge(&self, other: &Uuid) -> bool
[src]
impl PartialEq<Uuid> for Uuid
[src]
impl PartialEq<Uuid> for Uuid
[src]
fn eq(&self, other: &Uuid) -> bool
[src]
#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests for !=
.
impl Copy for Uuid
[src]
impl Ord for Uuid
[src]
fn cmp(&self, other: &Uuid) -> Ordering
[src]
fn max(self, other: Self) -> Self
1.21.0[src]
Compares and returns the maximum of two values. Read more
fn min(self, other: Self) -> Self
1.21.0[src]
Compares and returns the minimum of two values. Read more
fn clamp(self, min: Self, max: Self) -> Self
[src]
clamp
)Restrict a value to a certain interval. Read more
impl Eq for Uuid
[src]
impl Clone for Uuid
[src]
fn clone(&self) -> Uuid
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl Deref for Uuid
[src]
impl Debug for Uuid
[src]
impl Display for Uuid
[src]
impl FromStr for Uuid
[src]
type Err = ParseError
The associated error which can be returned from parsing.
fn from_str(s: &str) -> Result<Uuid, Self::Err>
[src]
impl<'v> FromFormValue<'v> for Uuid
[src]
type Error = &'v RawStr
The associated error which can be returned from parsing. It is a good idea to have the return type be or contain an &'v str
so that the unparseable string can be examined after a bad parse. Read more
fn from_form_value(form_value: &'v RawStr) -> Result<Uuid, &'v RawStr>
[src]
A value is successfully parsed if form_value
is a properly formatted
Uuid. Otherwise, the raw form value is returned.
fn default() -> Option<Self>
[src]
Returns a default value to be used when the form field does not exist. If this returns None
, then the field is required. Otherwise, this should return Some(default_value)
. The default implementation simply returns None
. Read more
impl<'a> FromParam<'a> for Uuid
[src]
type Error = ParseError
The associated error to be returned if parsing/validation fails.
fn from_param(param: &'a RawStr) -> Result<Uuid, Self::Error>
[src]
A value is successfully parsed if param
is a properly formatted Uuid.
Otherwise, a ParseError
is returned.
Auto Trait Implementations
impl Send for Uuid
impl Unpin for Uuid
impl Sync for Uuid
impl UnwindSafe for Uuid
impl RefUnwindSafe for Uuid
Blanket Implementations
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
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> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
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,
impl<T> Typeable for T where
T: Any,
T: Any,
impl<T> IntoCollection<T> for T
fn into_collection<A>(self) -> SmallVec<A> where
A: Array<Item = T>,
A: Array<Item = T>,
fn mapped<U, F, A>(self, f: F) -> SmallVec<A> where
A: Array<Item = U>,
F: FnMut(T) -> U,
A: Array<Item = U>,
F: FnMut(T) -> U,
impl<T, I> AsResult<T, I> for T where
I: Input,
I: Input,
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
fn equivalent(&self, key: &K) -> bool
[src]
impl<T> IntoSql for T
[src]
fn into_sql<T>(self) -> Self::Expression where
Self: AsExpression<T>,
[src]
Self: AsExpression<T>,
Convert self
to an expression for Diesel's query builder. Read more
fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression where
&'a Self: AsExpression<T>,
[src]
&'a Self: AsExpression<T>,
Convert &self
to an expression for Diesel's query builder. Read more
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> Erased for T
impl<'a, T> TryFrom<&'a str> for T where
T: FromStr,
T: FromStr,
type Err = <T as FromStr>::Err
fn try_from(string: &'a str) -> Result<T, <T as TryFrom<&'a str>>::Err>
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
U: TryFrom<T>,