add cors
This commit is contained in:
parent
36e025f518
commit
146b908a9e
|
@ -773,7 +773,7 @@ dependencies = [
|
|||
"time 0.1.44",
|
||||
"traitobject",
|
||||
"typeable",
|
||||
"unicase",
|
||||
"unicase 1.4.2",
|
||||
"url 1.7.2",
|
||||
]
|
||||
|
||||
|
@ -1010,6 +1010,7 @@ dependencies = [
|
|||
"ring",
|
||||
"rocket",
|
||||
"rocket_contrib",
|
||||
"rocket_cors",
|
||||
"rocket_prometheus",
|
||||
"rusty_ulid",
|
||||
"serde",
|
||||
|
@ -1703,6 +1704,22 @@ dependencies = [
|
|||
"yansi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rocket_cors"
|
||||
version = "0.5.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ea20696dc46308d0ca06222905fe38e02b8e46c087af9c82ea85cdc386271076"
|
||||
dependencies = [
|
||||
"log 0.4.11",
|
||||
"regex",
|
||||
"rocket",
|
||||
"serde",
|
||||
"serde_derive",
|
||||
"unicase 2.6.0",
|
||||
"unicase_serde",
|
||||
"url 2.1.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rocket_http"
|
||||
version = "0.4.5"
|
||||
|
@ -2290,6 +2307,25 @@ dependencies = [
|
|||
"version_check 0.1.5",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "unicase"
|
||||
version = "2.6.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
|
||||
dependencies = [
|
||||
"version_check 0.9.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "unicase_serde"
|
||||
version = "0.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6ef53697679d874d69f3160af80bc28de12730a985d57bdf2b47456ccb8b11f1"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"unicase 2.6.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "unicode-bidi"
|
||||
version = "0.3.4"
|
||||
|
|
|
@ -19,6 +19,7 @@ prometheus = { version = "0.10", default-features = false, features = ["process"
|
|||
rand = "0"
|
||||
ring = { version = "^0.16", features = ["std"] }
|
||||
rocket = "0.4"
|
||||
rocket_cors = "0.5"
|
||||
rocket_prometheus = "0.7.0"
|
||||
rusty_ulid = "0.10"
|
||||
serde_json = "^1"
|
||||
|
|
|
@ -6,7 +6,9 @@ extern crate rocket;
|
|||
extern crate tracing;
|
||||
|
||||
use color_eyre::eyre::Result;
|
||||
use rocket::http::Method;
|
||||
use rocket_contrib::helmet::SpaceHelmet;
|
||||
use rocket_cors::{AllowedHeaders, AllowedOrigins};
|
||||
use rocket_prometheus::PrometheusMetrics;
|
||||
|
||||
use ::mi::{api, paseto, web::*, MainDatabase, APPLICATION_NAME};
|
||||
|
@ -37,9 +39,26 @@ fn main() -> Result<()> {
|
|||
|
||||
info!("{} starting up", APPLICATION_NAME);
|
||||
|
||||
let allowed_origins =
|
||||
AllowedOrigins::some_exact(&["https://mi.within.website", "http://localhost:8000"]);
|
||||
|
||||
// You can also deserialize this
|
||||
let cors = rocket_cors::CorsOptions {
|
||||
allowed_origins,
|
||||
allowed_methods: vec![Method::Get, Method::Post]
|
||||
.into_iter()
|
||||
.map(From::from)
|
||||
.collect(),
|
||||
allowed_headers: AllowedHeaders::some(&["Authorization", "Accept"]),
|
||||
allow_credentials: true,
|
||||
..Default::default()
|
||||
}
|
||||
.to_cors()?;
|
||||
|
||||
let prometheus = PrometheusMetrics::with_registry(prometheus::default_registry().clone());
|
||||
rocket::ignite()
|
||||
.attach(prometheus.clone())
|
||||
.attach(cors)
|
||||
.attach(MainDatabase::fairing())
|
||||
.attach(SpaceHelmet::default())
|
||||
.attach(paseto::ed25519_keypair())
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
index.html
|
||||
elm-stuff
|
Loading…
Reference in New Issue