Skip to content

Commit 15a1804

Browse files
daxpeddajakobhellermann
authored andcommitted
Add COOP and COEP headers
1 parent 21b98bb commit 15a1804

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ wasm-bindgen-cli-support = "0.2"
1818

1919
axum = { version = "0.5", default-features = false, features = ["http1", "headers"] }
2020
tokio = { version = "1.11", default-features = false, features = ["rt-multi-thread"] }
21-
tower-http = { version = "0.2", features = ["fs", "trace"] }
21+
tower-http = { version = "0.2", features = ["fs", "set-header", "trace"] }
2222
tower = "0.4"
2323
fastrand = "1.5"
2424
flate2 = "1.0"

src/server.rs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
use std::net::SocketAddr;
22

3-
use axum::headers::ContentEncoding;
3+
use axum::headers::{ContentEncoding, HeaderName};
44
use axum::http::{HeaderValue, StatusCode};
55
use axum::response::{Html, IntoResponse, Response};
66
use axum::routing::{get, get_service};
77
use axum::{Router, TypedHeader};
88
use tower::ServiceBuilder;
99
use tower_http::services::ServeDir;
10+
use tower_http::set_header::SetResponseHeaderLayer;
1011

1112
use crate::wasm_bindgen::WasmBindgenOutput;
1213
use crate::Result;
@@ -23,7 +24,16 @@ pub struct Options {
2324
pub async fn run_server(options: Options, output: WasmBindgenOutput) -> Result<()> {
2425
let WasmBindgenOutput { js, compressed_wasm } = output;
2526

26-
let middleware_stack = ServiceBuilder::new().into_inner();
27+
let middleware_stack = ServiceBuilder::new()
28+
.layer(SetResponseHeaderLayer::if_not_present(
29+
HeaderName::from_static("cross-origin-opener-policy"),
30+
HeaderValue::from_static("same-origin"),
31+
))
32+
.layer(SetResponseHeaderLayer::if_not_present(
33+
HeaderName::from_static("cross-origin-embedder-policy"),
34+
HeaderValue::from_static("require-corp"),
35+
))
36+
.into_inner();
2737

2838
let version = generate_version();
2939

0 commit comments

Comments
 (0)