26 lines
557 B
Rust
26 lines
557 B
Rust
use rocket::{http::Header, response::Responder, Response};
|
|
|
|
pub struct CorsResponse<T> {
|
|
pub inner: T,
|
|
}
|
|
|
|
impl<'r, T> Responder<'r, 'static> for CorsResponse<T>
|
|
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<T> for CorsResponse<T>
|
|
where
|
|
T: Responder<'r, 'static>,
|
|
{
|
|
fn from(value: T) -> Self {
|
|
Self { inner: value }
|
|
}
|
|
}
|