|
@ -4,7 +4,7 @@ use std::path::{Path, PathBuf}; |
|
|
use rocket::request::Request; |
|
|
use rocket::request::Request; |
|
|
use rocket::response::{self, NamedFile, Responder}; |
|
|
use rocket::response::{self, NamedFile, Responder}; |
|
|
use rocket::response::content::Content; |
|
|
use rocket::response::content::Content; |
|
|
use rocket::http::ContentType; |
|
|
use rocket::http::{ContentType, Status}; |
|
|
use rocket::Route; |
|
|
use rocket::Route; |
|
|
use rocket_contrib::{Json, Value}; |
|
|
use rocket_contrib::{Json, Value}; |
|
|
|
|
|
|
|
@ -49,14 +49,19 @@ struct WebHeaders<R>(R); |
|
|
|
|
|
|
|
|
impl<'r, R: Responder<'r>> Responder<'r> for WebHeaders<R> { |
|
|
impl<'r, R: Responder<'r>> Responder<'r> for WebHeaders<R> { |
|
|
fn respond_to(self, req: &Request) -> response::Result<'r> { |
|
|
fn respond_to(self, req: &Request) -> response::Result<'r> { |
|
|
let mut res = self.0.respond_to(req)?; |
|
|
match self.0.respond_to(req) { |
|
|
|
|
|
Ok(mut res) => { |
|
|
res.set_raw_header("Referrer-Policy", "same-origin"); |
|
|
res.set_raw_header("Referrer-Policy", "same-origin"); |
|
|
res.set_raw_header("X-Frame-Options", "SAMEORIGIN"); |
|
|
res.set_raw_header("X-Frame-Options", "SAMEORIGIN"); |
|
|
res.set_raw_header("X-Content-Type-Options", "nosniff"); |
|
|
res.set_raw_header("X-Content-Type-Options", "nosniff"); |
|
|
res.set_raw_header("X-XSS-Protection", "1; mode=block"); |
|
|
res.set_raw_header("X-XSS-Protection", "1; mode=block"); |
|
|
|
|
|
|
|
|
Ok(res) |
|
|
Ok(res) |
|
|
|
|
|
}, |
|
|
|
|
|
Err(_) => { |
|
|
|
|
|
Err(Status::NotFound) |
|
|
|
|
|
} |
|
|
|
|
|
}
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|