[−][src]Enum rocket_cors::AllOrSome
An enum signifying that some of type T is allowed, or All
(everything is allowed).
Default
is implemented for this enum and is All
.
This enum is serialized and deserialized "Externally tagged"
Variants
Everything is allowed. Usually equivalent to the "*" value.
Only some of T
is allowed
Methods
impl<T> AllOrSome<T>
[src]
pub fn is_all(&self) -> bool
[src]
Returns whether this is an All
variant
pub fn is_some(&self) -> bool
[src]
Returns whether this is a Some
variant
pub fn unwrap(self) -> T
[src]
impl AllOrSome<Origins>
[src]
pub fn some<'a, 'b, S1: AsRef<str>, S2: AsRef<str>>(
exact: &'a [S1],
regex: &'b [S2]
) -> Self
[src]
exact: &'a [S1],
regex: &'b [S2]
) -> Self
Allows some origins, with a mix of exact matches or regex matches
Validation is not performed at this stage, but at a later stage.
Exact matches are matched exactly with the ASCII Serialization of the origin.
Regular expressions are tested for matches against the ASCII Serialization of the origin.
Opaque Origins
The specification defines an Opaque Origin
as one that cannot be recreated. You can refer to the source code for the url::Url::origin
method to see how an Opaque Origin is determined. Examples of Opaque origins might include
schemes like file://
or Browser specific schemes like "moz-extension://
or
chrome-extension://
.
Opaque Origins cannot be matched exactly. You must use Regex to match Opaque Origins. If you
attempt to create Cors
from CorsOptions
, you will get an error.
Warning about Regex expressions
By default, regex expressions are unanchored.
This means that if the regex does not start with ^
or \A
, or end with $
or \z
,
then it is permitted to match anywhere in the text. You are encouraged to use the anchors when
crafting your Regex expressions.
pub fn some_exact<S: AsRef<str>>(exact: &[S]) -> Self
[src]
Allows some exact origins
Validation is not performed at this stage, but at a later stage.
Exact matches are matched exactly with the ASCII Serialization of the origin.
Opaque Origins
The specification defines an Opaque Origin
as one that cannot be recreated. You can refer to the source code for the url::Url::origin
method to see how an Opaque Origin is determined. Examples of Opaque origins might include
schemes like file://
or Browser specific schemes like "moz-extension://
or
chrome-extension://
.
pub fn some_regex<S: AsRef<str>>(regex: &[S]) -> Self
[src]
Allow some regular expression origins
Validation is not performed at this stage, but at a later stage.
Regular expressions are tested for matches against the ASCII Serialization of the origin.
Warning about Regex expressions
By default, regex expressions are unanchored.
This means that if the regex does not start with ^
or \A
, or end with $
or \z
,
then it is permitted to match anywhere in the text. You are encouraged to use the anchors when
crafting your Regex expressions.
pub fn some_null() -> Self
[src]
Allow some null
origins
pub fn all() -> Self
[src]
Allows all origins
impl AllOrSome<HashSet<HeaderFieldName, RandomState>>
[src]
pub fn some(headers: &[&str]) -> Self
[src]
Allow some headers
pub fn all() -> Self
[src]
Allows all headers
Trait Implementations
impl<T: Clone> Clone for AllOrSome<T>
[src]
impl<T: Debug> Debug for AllOrSome<T>
[src]
impl<T> Default for AllOrSome<T>
[src]
impl<'de, T> Deserialize<'de> for AllOrSome<T> where
T: Deserialize<'de>,
[src]
T: Deserialize<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl<T: Eq> Eq for AllOrSome<T>
[src]
impl<T: PartialEq> PartialEq<AllOrSome<T>> for AllOrSome<T>
[src]
impl<T> Serialize for AllOrSome<T> where
T: Serialize,
[src]
T: Serialize,
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer,
[src]
__S: Serializer,
impl<T> StructuralEq for AllOrSome<T>
[src]
impl<T> StructuralPartialEq for AllOrSome<T>
[src]
Auto Trait Implementations
impl<T> RefUnwindSafe for AllOrSome<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> Send for AllOrSome<T> where
T: Send,
T: Send,
impl<T> Sync for AllOrSome<T> where
T: Sync,
T: Sync,
impl<T> Unpin for AllOrSome<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for AllOrSome<T> where
T: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T, I> AsResult<T, I> for T where
I: Input,
I: Input,
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> DeserializeOwned for T where
T: Deserialize<'de>,
[src]
T: Deserialize<'de>,
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> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
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> 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> Typeable for T where
T: Any,
T: Any,