Handle CORS

This commit is contained in:
Sebastian H. Gabrielli 2023-12-26 21:01:36 +01:00
parent 603b57b303
commit e7cbe25602
3 changed files with 53 additions and 2 deletions

37
Cargo.lock generated
View File

@ -1783,6 +1783,7 @@ version = "0.1.0"
dependencies = [
"futures",
"rocket",
"rocket_cors",
"sea-orm",
"serde",
]
@ -1804,6 +1805,23 @@ dependencies = [
"version_check",
]
[[package]]
name = "rocket_cors"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cfac3a1df83f8d4fc96aa41dba3b86c786417b7fc0f52ec76295df2ba781aa69"
dependencies = [
"http",
"log",
"regex",
"rocket",
"serde",
"serde_derive",
"unicase",
"unicase_serde",
"url",
]
[[package]]
name = "rocket_http"
version = "0.5.0"
@ -2782,6 +2800,25 @@ dependencies = [
"version_check",
]
[[package]]
name = "unicase"
version = "2.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89"
dependencies = [
"version_check",
]
[[package]]
name = "unicase_serde"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ef53697679d874d69f3160af80bc28de12730a985d57bdf2b47456ccb8b11f1"
dependencies = [
"serde",
"unicase",
]
[[package]]
name = "unicode-bidi"
version = "0.3.14"

View File

@ -9,4 +9,5 @@ edition = "2021"
rocket = {version = "0.5.0", features = ["json"] }
serde = { version = "1.0", features = ["derive"] }
sea-orm = { version = "^0.12.0", features = [ "sqlx-sqlite", "runtime-tokio-native-tls", "macros", "mock" ] }
futures = "0.3.28"
futures = "0.3.28"
rocket_cors = "0.6.0"

View File

@ -1,12 +1,21 @@
// Webserver
#[macro_use] extern crate rocket;
mod database;
// Import the data models
pub mod models;
// Import the database setup
mod database;
use database::set_up_db;
// Import the member functions
mod webserver_member;
use webserver_member::*;
// Handle CORS
use rocket_cors::{AllowedOrigins, CorsOptions};
// Serve the very exiting main page
#[get("/")]
fn index() -> &'static str {
"Hello, world!\nNothing useful is served here."
@ -19,8 +28,12 @@ async fn rocket() -> _ {
Err(err) => panic!("{}", err)
};
let cors = CorsOptions::default().allowed_origins(AllowedOrigins::all())
.to_cors().unwrap();
rocket::build()
.manage(db)
.attach(cors)
.mount("/", routes![
index,
get_member_by_id,