closes #10
This commit is contained in:
22
src/cors.rs
22
src/cors.rs
@ -1,8 +1,9 @@
|
||||
use rocket::fairing::{Fairing, Info, Kind};
|
||||
use rocket::http::{Header, Method, Status};
|
||||
use rocket::{Request, Response};
|
||||
use std::io::Cursor;
|
||||
use rocket::http::Header;
|
||||
use rocket::route::{Handler, Outcome};
|
||||
use rocket::{Data, Request, Response};
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct CORS;
|
||||
|
||||
#[rocket::async_trait]
|
||||
@ -14,7 +15,7 @@ impl Fairing for CORS {
|
||||
}
|
||||
}
|
||||
|
||||
async fn on_response<'r>(&self, req: &'r Request<'_>, response: &mut Response<'r>) {
|
||||
async fn on_response<'r>(&self, _req: &'r Request<'_>, response: &mut Response<'r>) {
|
||||
response.set_header(Header::new("Access-Control-Allow-Origin", "*"));
|
||||
response.set_header(Header::new(
|
||||
"Access-Control-Allow-Methods",
|
||||
@ -22,11 +23,12 @@ impl Fairing for CORS {
|
||||
));
|
||||
response.set_header(Header::new("Access-Control-Allow-Headers", "*"));
|
||||
response.set_header(Header::new("Access-Control-Allow-Credentials", "true"));
|
||||
|
||||
// force status 200 for options requests
|
||||
if req.method() == Method::Options {
|
||||
response.set_status(Status::Ok);
|
||||
response.set_sized_body(None, Cursor::new(""))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[rocket::async_trait]
|
||||
impl Handler for CORS {
|
||||
async fn handle<'r>(&self, _request: &'r Request<'_>, _data: Data<'r>) -> Outcome<'r> {
|
||||
Outcome::Success(Response::new())
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user