Cors support #62

Merged
phoenix merged 11 commits from cors into main 2025-10-10 20:32:29 +00:00
Showing only changes of commit f87de77aa6 - Show all commits

View File

@@ -46,11 +46,6 @@ mod init {
struct ApiDoc;
mod cors {
// use tower_http::cors::AllowOrigin;
// use tower_http::cors::CorsLayer;
// use axum::routing::get;
// use axum::routing::Router;
pub async fn configure_cors() -> tower_http::cors::CorsLayer {
// Start building the CORS layer with common settings
let cors = tower_http::cors::CorsLayer::new()
@@ -70,29 +65,16 @@ mod init {
// Dynamically set the allowed origin based on the environment
match std::env::var(icarus_envy::keys::APP_ENV).as_deref() {
Ok("production") => {
// In production, allow only your specific, trusted origins
let allowed_origins_env = icarus_envy::environment::get_allowed_origins().await;
// let allowed_origins: Vec<String> = allowed_origins_env.split(",").map(|s| s.to_string()).collect();
let allowed_origins: Vec<axum::http::HeaderValue> = allowed_origins_env
.split(",")
.map(|s| s.parse::<axum::http::HeaderValue>().unwrap())
.collect();
cors.allow_origin(allowed_origins)
// cors.allow_origin(vec![""])
/*
cors.allow_origin(vec![
"https://www.your-production-domain.com"
.parse::<axum::http::HeaderValue>()
.unwrap(),
"https://your-production-domain.com".parse().unwrap(),
])
*/
}
_ => {
// Development (default): Allow localhost origins
cors.allow_origin(vec![
"http://localhost:8000".parse().unwrap(),
"http://127.0.0.1:8000".parse().unwrap(),
"http://localhost:4200".parse().unwrap(),
"http://127.0.0.1:4200".parse().unwrap(),
])