Enum CrossOriginResourcePolicy
pub enum CrossOriginResourcePolicy {
SameSite,
SameOrigin,
CrossOrigin,
Unknown(String),
}http only.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(String)
Implementations§
§impl CrossOriginResourcePolicy
impl CrossOriginResourcePolicy
pub fn as_str(&self) -> &str
pub fn as_smol_str(&self) -> SmolStr
§impl CrossOriginResourcePolicy
impl CrossOriginResourcePolicy
pub 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§
§impl Clone for CrossOriginResourcePolicy
impl Clone for CrossOriginResourcePolicy
§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 more§impl Debug for CrossOriginResourcePolicy
impl Debug for CrossOriginResourcePolicy
§impl<'de> Deserialize<'de> for CrossOriginResourcePolicy
impl<'de> Deserialize<'de> for CrossOriginResourcePolicy
§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>,
§impl Display for CrossOriginResourcePolicy
impl Display for CrossOriginResourcePolicy
impl Eq for CrossOriginResourcePolicy
§impl<'a> From<&'a str> for CrossOriginResourcePolicy
impl<'a> From<&'a str> for CrossOriginResourcePolicy
§fn from(s: &'a str) -> CrossOriginResourcePolicy
fn from(s: &'a str) -> CrossOriginResourcePolicy
§impl From<String> for CrossOriginResourcePolicy
impl From<String> for CrossOriginResourcePolicy
§fn from(s: String) -> CrossOriginResourcePolicy
fn from(s: String) -> CrossOriginResourcePolicy
§impl FromStr for CrossOriginResourcePolicy
impl FromStr for CrossOriginResourcePolicy
§type Err = Infallible
type Err = Infallible
§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 more§impl Hash for CrossOriginResourcePolicy
impl Hash for CrossOriginResourcePolicy
§impl HeaderDecode for CrossOriginResourcePolicy
impl HeaderDecode for CrossOriginResourcePolicy
§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.§impl HeaderEncode for CrossOriginResourcePolicy
impl HeaderEncode for CrossOriginResourcePolicy
§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 more§fn encode_to_value(&self) -> Option<HeaderValue>
fn encode_to_value(&self) -> Option<HeaderValue>
HeaderValue. Read more§impl PartialEq for CrossOriginResourcePolicy
impl PartialEq for CrossOriginResourcePolicy
§fn eq(&self, other: &CrossOriginResourcePolicy) -> bool
fn eq(&self, other: &CrossOriginResourcePolicy) -> bool
self and other values to be equal, and is used by ==.§impl Serialize for CrossOriginResourcePolicy
impl Serialize for CrossOriginResourcePolicy
§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
§impl TypedHeader for CrossOriginResourcePolicy
impl TypedHeader for CrossOriginResourcePolicy
§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§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§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>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§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 more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a rama_grpc::Request§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more§impl<T, U> RamaTryFrom<T> for Uwhere
U: TryFrom<T>,
impl<T, U> RamaTryFrom<T> for Uwhere
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
fn rama_try_from(value: T) -> Result<U, <U as RamaTryFrom<T>>::Error>
§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,
§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.
§impl<V, F> ValueFormatter<&V> for F
impl<V, F> ValueFormatter<&V> for F
§fn format_value(writer: impl ValueWriter, value: &&V)
fn format_value(writer: impl ValueWriter, value: &&V)
value to writer§impl<V, F> ValueFormatter<Arc<V>> for F
impl<V, F> ValueFormatter<Arc<V>> for F
§fn format_value(writer: impl ValueWriter, value: &Arc<V>)
fn format_value(writer: impl ValueWriter, value: &Arc<V>)
value to writer§impl<V, F> ValueFormatter<Box<V>> for F
impl<V, F> ValueFormatter<Box<V>> for F
§fn format_value(writer: impl ValueWriter, value: &Box<V>)
fn format_value(writer: impl ValueWriter, value: &Box<V>)
value to writer§impl<V, F> ValueFormatter<Cow<'_, V>> for F
impl<V, F> ValueFormatter<Cow<'_, V>> for F
§fn format_value(writer: impl ValueWriter, value: &Cow<'_, V>)
fn format_value(writer: impl ValueWriter, value: &Cow<'_, V>)
value to writer§impl<V, F> ValueFormatter<Option<V>> for Fwhere
F: ValueFormatter<V> + ?Sized,
impl<V, F> ValueFormatter<Option<V>> for Fwhere
F: ValueFormatter<V> + ?Sized,
§fn format_value(writer: impl ValueWriter, value: &Option<V>)
fn format_value(writer: impl ValueWriter, value: &Option<V>)
value to writer