pub struct CrossOriginEmbedderPolicy {
pub value: CrossOriginEmbedderPolicyValue,
pub report_to: Option<Cow<'static, str>>,
}Expand description
Cross-Origin-Embedder-Policy (COEP) header.
Send require-corp or credentialless to opt the document into
process isolation suitable for using SharedArrayBuffer and other
cross-origin-isolated capabilities.
The optional report-to parameter names a Reporting API endpoint
(defined in the Reporting-Endpoints header) where the browser
posts violation reports.
§Default semantics
When the header is absent the user agent applies unsafe-none
(effectively: no embedder-policy enforcement). The
UnsafeNone variant
represents the header being present with that explicit value —
both produce the same browser behaviour but the presence is
distinguishable on the wire.
§Example
use rama_http_headers::{CrossOriginEmbedderPolicy, CrossOriginEmbedderPolicyValue};
let coep = CrossOriginEmbedderPolicy {
value: CrossOriginEmbedderPolicyValue::RequireCorp,
report_to: Some("coep-endpoint".into()),
};
assert_eq!(coep.to_string(), r#"require-corp; report-to="coep-endpoint""#);Fields§
§value: CrossOriginEmbedderPolicyValue§report_to: Option<Cow<'static, str>>; report-to="<endpoint>" — endpoint name defined in the
Reporting-Endpoints header. Always emitted as a quoted
sf-string per RFC 8941.
Implementations§
Source§impl CrossOriginEmbedderPolicy
impl CrossOriginEmbedderPolicy
Sourcepub fn unsafe_none() -> Self
pub fn unsafe_none() -> Self
Builder shortcut: unsafe-none, no report-to.
Sourcepub fn require_corp() -> Self
pub fn require_corp() -> Self
Builder shortcut: require-corp, no report-to.
Sourcepub fn credentialless() -> Self
pub fn credentialless() -> Self
Builder shortcut: credentialless, no report-to.
pub fn with_report_to(self, endpoint: impl Into<Cow<'static, str>>) -> Self
pub fn set_report_to( &mut self, endpoint: impl Into<Cow<'static, str>>, ) -> &mut Self
Trait Implementations§
Source§impl Clone for CrossOriginEmbedderPolicy
impl Clone for CrossOriginEmbedderPolicy
Source§fn clone(&self) -> CrossOriginEmbedderPolicy
fn clone(&self) -> CrossOriginEmbedderPolicy
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 CrossOriginEmbedderPolicy
impl Debug for CrossOriginEmbedderPolicy
Source§impl Display for CrossOriginEmbedderPolicy
impl Display for CrossOriginEmbedderPolicy
impl Eq for CrossOriginEmbedderPolicy
Source§impl Hash for CrossOriginEmbedderPolicy
impl Hash for CrossOriginEmbedderPolicy
Source§impl HeaderDecode for CrossOriginEmbedderPolicy
impl HeaderDecode for CrossOriginEmbedderPolicy
Source§fn decode<'i, I: Iterator<Item = &'i HeaderValue>>(
values: &mut I,
) -> Result<Self, Error>
fn decode<'i, I: Iterator<Item = &'i HeaderValue>>( values: &mut I, ) -> Result<Self, Error>
HeaderValues.Source§impl HeaderEncode for CrossOriginEmbedderPolicy
impl HeaderEncode for CrossOriginEmbedderPolicy
Source§fn encode<E: Extend<HeaderValue>>(&self, values: &mut E)
fn encode<E: Extend<HeaderValue>>(&self, values: &mut E)
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 CrossOriginEmbedderPolicy
impl PartialEq for CrossOriginEmbedderPolicy
Source§fn eq(&self, other: &CrossOriginEmbedderPolicy) -> bool
fn eq(&self, other: &CrossOriginEmbedderPolicy) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for CrossOriginEmbedderPolicy
Source§impl TypedHeader for CrossOriginEmbedderPolicy
impl TypedHeader for CrossOriginEmbedderPolicy
Source§fn name() -> &'static HeaderName
fn name() -> &'static HeaderName
Auto Trait Implementations§
impl Freeze for CrossOriginEmbedderPolicy
impl RefUnwindSafe for CrossOriginEmbedderPolicy
impl Send for CrossOriginEmbedderPolicy
impl Sync for CrossOriginEmbedderPolicy
impl Unpin for CrossOriginEmbedderPolicy
impl UnsafeUnpin for CrossOriginEmbedderPolicy
impl UnwindSafe for CrossOriginEmbedderPolicy
Blanket Implementations§
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,
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> 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 more