pub enum CrossOriginResourcePolicy {
SameSite,
SameOrigin,
CrossOrigin,
Unknown(Box<str>),
}Expand description
Cross-Origin-Resource-Policy (CORP) header, defined by
Fetch § cross-origin-resource-policy-header.
Lets a server opt resources out of being embedded by cross- origin / cross-site documents. Single token, no parameters, no report-only variant.
§Default semantics
When the header is absent the user agent applies its default
embedding policy (effectively cross-origin for legacy
backwards compatibility). The typed value here represents the
header being present. The auto-generated
Unknown variant is reachable only if a
caller constructs it directly — the HeaderDecode impl uses
strict parsing and rejects any unknown token.
§Example values
same-originsame-sitecross-origin
§Example
use rama_http_headers::CrossOriginResourcePolicy;
let corp = CrossOriginResourcePolicy::SameOrigin;
assert_eq!(corp.to_string(), "same-origin");Variants§
SameSite
same-site — only documents from the same registrable
site may embed the resource.
SameOrigin
same-origin — only same-origin documents may embed.
CrossOrigin
cross-origin — any document may embed. Matches the
legacy default but makes the intent explicit on the wire.
Unknown(Box<str>)
Implementations§
Source§impl CrossOriginResourcePolicy
impl CrossOriginResourcePolicy
pub fn as_str(&self) -> &str
pub fn as_static_str(&self) -> Cow<'static, str>
pub fn as_smol_str(&self) -> SmolStr
Source§impl CrossOriginResourcePolicy
impl CrossOriginResourcePolicy
Sourcepub fn strict_parse(s: &str) -> Option<CrossOriginResourcePolicy>
pub fn strict_parse(s: &str) -> Option<CrossOriginResourcePolicy>
Same as FromStr or From<&str> but returning
None for unknown values
Trait Implementations§
Source§impl Clone for CrossOriginResourcePolicy
impl Clone for CrossOriginResourcePolicy
Source§fn clone(&self) -> CrossOriginResourcePolicy
fn clone(&self) -> CrossOriginResourcePolicy
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CrossOriginResourcePolicy
impl Debug for CrossOriginResourcePolicy
Source§impl<'de> Deserialize<'de> for CrossOriginResourcePolicy
impl<'de> Deserialize<'de> for CrossOriginResourcePolicy
Source§fn deserialize<D>(
deserializer: D,
) -> Result<CrossOriginResourcePolicy, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<CrossOriginResourcePolicy, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Source§impl Display for CrossOriginResourcePolicy
impl Display for CrossOriginResourcePolicy
impl Eq for CrossOriginResourcePolicy
Source§impl<'a> From<&'a str> for CrossOriginResourcePolicy
impl<'a> From<&'a str> for CrossOriginResourcePolicy
Source§fn from(s: &'a str) -> CrossOriginResourcePolicy
fn from(s: &'a str) -> CrossOriginResourcePolicy
Source§impl From<String> for CrossOriginResourcePolicy
impl From<String> for CrossOriginResourcePolicy
Source§fn from(s: String) -> CrossOriginResourcePolicy
fn from(s: String) -> CrossOriginResourcePolicy
Source§impl FromStr for CrossOriginResourcePolicy
impl FromStr for CrossOriginResourcePolicy
Source§type Err = Infallible
type Err = Infallible
Source§fn from_str(
s: &str,
) -> Result<CrossOriginResourcePolicy, <CrossOriginResourcePolicy as FromStr>::Err>
fn from_str( s: &str, ) -> Result<CrossOriginResourcePolicy, <CrossOriginResourcePolicy as FromStr>::Err>
s to return a value of this type. Read moreSource§impl Hash for CrossOriginResourcePolicy
impl Hash for CrossOriginResourcePolicy
Source§impl HeaderDecode for CrossOriginResourcePolicy
impl HeaderDecode for CrossOriginResourcePolicy
Source§fn decode<'i, I>(values: &mut I) -> Result<CrossOriginResourcePolicy, Error>where
I: Iterator<Item = &'i HeaderValue>,
fn decode<'i, I>(values: &mut I) -> Result<CrossOriginResourcePolicy, Error>where
I: Iterator<Item = &'i HeaderValue>,
HeaderValues.Source§impl HeaderEncode for CrossOriginResourcePolicy
impl HeaderEncode for CrossOriginResourcePolicy
Source§fn encode<E>(&self, values: &mut E)where
E: Extend<HeaderValue>,
fn encode<E>(&self, values: &mut E)where
E: Extend<HeaderValue>,
HeaderValue, and add it to a container
which has HeaderValue type as each element. Read moreSource§fn encode_to_value(&self) -> Option<HeaderValue>
fn encode_to_value(&self) -> Option<HeaderValue>
HeaderValue. Read moreSource§impl PartialEq for CrossOriginResourcePolicy
impl PartialEq for CrossOriginResourcePolicy
Source§fn eq(&self, other: &CrossOriginResourcePolicy) -> bool
fn eq(&self, other: &CrossOriginResourcePolicy) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for CrossOriginResourcePolicy
impl Serialize for CrossOriginResourcePolicy
Source§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
impl StructuralPartialEq for CrossOriginResourcePolicy
Source§impl TypedHeader for CrossOriginResourcePolicy
impl TypedHeader for CrossOriginResourcePolicy
Source§fn name() -> &'static HeaderName
fn name() -> &'static HeaderName
Auto Trait Implementations§
impl Freeze for CrossOriginResourcePolicy
impl RefUnwindSafe for CrossOriginResourcePolicy
impl Send for CrossOriginResourcePolicy
impl Sync for CrossOriginResourcePolicy
impl Unpin for CrossOriginResourcePolicy
impl UnsafeUnpin for CrossOriginResourcePolicy
impl UnwindSafe for CrossOriginResourcePolicy
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T, U> RamaTryFrom<T> for Uwhere
U: TryFrom<T>,
impl<T, U> RamaTryFrom<T> for Uwhere
U: TryFrom<T>,
Source§impl<T, U, CrateMarker> RamaTryInto<U, CrateMarker> for Twhere
U: RamaTryFrom<T, CrateMarker>,
impl<T, U, CrateMarker> RamaTryInto<U, CrateMarker> for Twhere
U: RamaTryFrom<T, CrateMarker>,
type Error = <U as RamaTryFrom<T, CrateMarker>>::Error
fn rama_try_into(self) -> Result<U, <U as RamaTryFrom<T, CrateMarker>>::Error>
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.