use rocket::{http::Header, response::Responder, Response}; pub struct CorsResponse { pub inner: T, } impl<'r, T> Responder<'r, 'static> for CorsResponse where T: Responder<'r, 'static>, { fn respond_to(self, request: &'r rocket::Request<'_>) -> rocket::response::Result<'static> { Response::build_from(self.inner.respond_to(request)?) .header(Header::new("Access-Control-Allow-Origin", "*")) .ok() } } impl<'r, T> From for CorsResponse where T: Responder<'r, 'static>, { fn from(value: T) -> Self { Self { inner: value } } }