[][src]Enum rocket_cors::AllOrSome

pub enum AllOrSome<T> {
    All,
    Some(T),
}

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

All

Everything is allowed. Usually equivalent to the "*" value.

Some(T)

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]

Unwrap a Some variant and get its inner value

Panics

Panics if the variant is All

impl AllOrSome<Origins>[src]

pub fn some<'a, 'b, S1: AsRef<str>, S2: AsRef<str>>(
    exact: &'a [S1],
    regex: &'b [S2]
) -> Self
[src]

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]

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]

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

impl<T> Send for AllOrSome<T> where
    T: Send

impl<T> Sync for AllOrSome<T> where
    T: Sync

impl<T> Unpin for AllOrSome<T> where
    T: Unpin

impl<T> UnwindSafe for AllOrSome<T> where
    T: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T, I> AsResult<T, I> for T where
    I: Input, 

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: Deserialize<'de>, 
[src]

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> IntoCollection<T> for T

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Typeable for T where
    T: Any