[−][src]Struct oxide_auth::endpoint::NormalizedParameter
The query parameter normal form.
When a request wants to give access to its query or body parameters by reference, it can do so
by a reference of the particular trait. But when the representation of the query is not stored
in the memory associated with the request, it needs to be allocated to outlive the borrow on
the request. This allocation may as well perform the minimization/normalization into a
representation actually consumed by the backend. This normal form thus encapsulates the
associated clone-into-normal form by various possible constructors from references [WIP].
This gives rise to a custom Cow<QueryParameter> instance by requiring that normalization into
memory with unrelated lifetime is always possible.
Internally a hashmap but this may change due to optimizations.
Methods
impl NormalizedParameter[src]
pub fn new() -> Self[src]
Create an empty map.
pub fn insert_or_poison(
&mut self,
key: Cow<'static, str>,
val: Cow<'static, str>
)[src]
&mut self,
key: Cow<'static, str>,
val: Cow<'static, str>
)
Insert a key-value-pair or mark key as dead if already present.
Since each key must appear at most once, we do not remove it from the map but instead mark the key as having a duplicate entry.
Trait Implementations
impl QueryParameter for NormalizedParameter[src]
fn unique_value(&self, key: &str) -> Option<Cow<str>>[src]
fn normalize(&self) -> NormalizedParameter[src]
impl Default for NormalizedParameter[src]
fn default() -> NormalizedParameter[src]
impl Clone for NormalizedParameter[src]
fn clone(&self) -> NormalizedParameter[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]
Performs copy-assignment from source. Read more
impl Debug for NormalizedParameter[src]
impl<K, V> FromIterator<(K, V)> for NormalizedParameter where
K: Into<Cow<'static, str>>,
V: Into<Cow<'static, str>>, [src]
K: Into<Cow<'static, str>>,
V: Into<Cow<'static, str>>,
fn from_iter<T>(iter: T) -> Self where
T: IntoIterator<Item = (K, V)>, [src]
T: IntoIterator<Item = (K, V)>,
impl Borrow<dyn QueryParameter + 'static> for NormalizedParameter[src]
fn borrow(&self) -> &(dyn QueryParameter + 'static)[src]
impl<'de> Deserialize<'de> for NormalizedParameter[src]
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where
D: Deserializer<'de>, [src]
D: Deserializer<'de>,
Auto Trait Implementations
impl Unpin for NormalizedParameter
impl Send for NormalizedParameter
impl Sync for NormalizedParameter
impl RefUnwindSafe for NormalizedParameter
impl UnwindSafe for NormalizedParameter
Blanket Implementations
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, 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> DeserializeOwned for T where
T: Deserialize<'de>, [src]
T: Deserialize<'de>,
impl<T> Erased for T
impl<T> Typeable for T where
T: Any,
T: Any,
impl<T> DebugAny for T where
T: Any + Debug,
T: Any + Debug,
impl<T> CloneAny for T where
T: Clone + Any,
T: Clone + Any,
fn clone_any(&self) -> Box<dyn CloneAny + 'static>
fn clone_any_send(&self) -> Box<dyn CloneAny + 'static + Send> where
T: Send,
T: Send,
fn clone_any_sync(&self) -> Box<dyn CloneAny + 'static + Sync> where
T: Sync,
T: Sync,
fn clone_any_send_sync(&self) -> Box<dyn CloneAny + 'static + Sync + Send> where
T: Send + Sync,
T: Send + Sync,
impl<T> UnsafeAny 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,