From a295de99222daddcd64f5e68786ebabf05ffab7c Mon Sep 17 00:00:00 2001 From: zleyyij Date: Mon, 29 Jan 2024 15:54:43 -0700 Subject: [PATCH] fix: cors was incorrectly set --- Cargo.lock | 25 ++++++++++++++++++++++++- Cargo.toml | 1 + src/main.rs | 2 ++ 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/Cargo.lock b/Cargo.lock index 0ee4409..f1fc66b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -173,6 +173,12 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +[[package]] +name = "bitflags" +version = "2.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" + [[package]] name = "bumpalo" version = "3.14.0" @@ -439,6 +445,7 @@ dependencies = [ "serde", "serde_json", "tokio", + "tower-http", ] [[package]] @@ -733,7 +740,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" dependencies = [ - "bitflags", + "bitflags 1.3.2", ] [[package]] @@ -930,6 +937,22 @@ dependencies = [ "tracing", ] +[[package]] +name = "tower-http" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0da193277a4e2c33e59e09b5861580c33dd0a637c3883d0fa74ba40c0374af2e" +dependencies = [ + "bitflags 2.4.2", + "bytes", + "http", + "http-body", + "http-body-util", + "pin-project-lite", + "tower-layer", + "tower-service", +] + [[package]] name = "tower-layer" version = "0.3.2" diff --git a/Cargo.toml b/Cargo.toml index 67a4297..10e1f67 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,3 +16,4 @@ nom = "7.1.3" serde = { version = "1.0.195", features = ["derive"] } serde_json = "1.0.111" tokio = { version = "1.35.1", features = ["full"] } +tower-http = { version = "0.5.1", features = ["cors"] } diff --git a/src/main.rs b/src/main.rs index 8d5cf38..0e888a8 100644 --- a/src/main.rs +++ b/src/main.rs @@ -10,6 +10,7 @@ use log::info; use log::{Level, LevelFilter, Metadata, Record}; use serde::{Deserialize, Serialize}; use std::env; +use tower_http::cors::CorsLayer; /// https://docs.rs/log/latest/log/#implementing-a-logger struct SimpleLogger; @@ -83,6 +84,7 @@ async fn main() -> Result<(), Box> { // create a new http router and register respective routes and handlers let app = Router::new() .route("/api/cpus/", get(get_cpu_handler)) + .layer(CorsLayer::very_permissive()) .with_state(AppState { cpu_cache: CpuCache::new(), });