Skip to main content

tower_helmet/header/
cross_origin_embedder_policy.rs

1use http::header::{HeaderName, InvalidHeaderValue};
2use http::HeaderValue;
3
4use crate::IntoHeader;
5
6/// `CrossOriginEmbedderPolicy` sets the `Cross-Origin-Embedder-Policy` header to `require-corp`.
7/// See [MDN's article on this header](https://developer.cdn.mozilla.net/en-US/docs/Web/HTTP/Headers/Cross-Origin-Embedder-Policy) for more.
8pub struct CrossOriginEmbedderPolicy;
9
10impl Default for CrossOriginEmbedderPolicy {
11    fn default() -> Self {
12        CrossOriginEmbedderPolicy
13    }
14}
15
16impl IntoHeader for CrossOriginEmbedderPolicy {
17    fn header_name(&self) -> HeaderName {
18        HeaderName::from_static("cross-origin-embedder-policy")
19    }
20
21    fn header_value(&self) -> Result<HeaderValue, InvalidHeaderValue> {
22        HeaderValue::from_str("require-corp")
23    }
24}