[MIRROR ONLY] A correct and efficient ATProto blob proxy for secure content delivery. codeberg.org/Blooym/porxie
36
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat: add cors headers

Lyna 0cc55547 9fb5e444

+6 -3
+1
crates/porxie/Cargo.toml
··· 95 95 "trace", 96 96 "timeout", 97 97 "tracing", 98 + "cors", 98 99 ], default-features = false } 99 100 tracing = { version = "0.1.44", features = [ 100 101 "attributes",
+5 -3
crates/porxie/src/server/mod.rs
··· 36 36 use std::sync::Arc; 37 37 use tower_http::{ 38 38 catch_panic::CatchPanicLayer, 39 + cors::CorsLayer, 39 40 normalize_path::NormalizePathLayer, 40 41 timeout::TimeoutLayer, 41 42 trace::{self, DefaultOnFailure, DefaultOnRequest, DefaultOnResponse, TraceLayer}, ··· 103 104 // Ensure /xrpc/... routes don't fall through elsewhere. 104 105 .route("/{rest}", any(xrpc_fallback_handler)), 105 106 ) 107 + .layer(CatchPanicLayer::new()) 108 + .layer(NormalizePathLayer::trim_trailing_slash()) 109 + .layer(axum_middleware::from_fn(server_headers_middleware)) 110 + .layer(CorsLayer::permissive()) 106 111 .layer( 107 112 TraceLayer::new_for_http() 108 113 .make_span_with(trace::DefaultMakeSpan::new().level(Level::INFO)) ··· 110 115 .on_response(DefaultOnResponse::default().level(Level::INFO)) 111 116 .on_failure(DefaultOnFailure::default().level(Level::ERROR)), 112 117 ) 113 - .layer(NormalizePathLayer::trim_trailing_slash()) 114 - .layer(CatchPanicLayer::new()) 115 - .layer(axum_middleware::from_fn(server_headers_middleware)) 116 118 .with_state(Arc::new(ServerState { 117 119 admin_password: options.admin_password, 118 120 allowed_mimetypes: options.allowed_mimetypes,