From 53e553e1555afbef1235d0f964edfa5741cbb9c6 Mon Sep 17 00:00:00 2001 From: Bartal Laearsson Date: Mon, 17 Aug 2026 17:41:37 +0100 Subject: [PATCH] phase 4 finished --- src/api.rs | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/src/api.rs b/src/api.rs index 661d455..517815c 100644 --- a/src/api.rs +++ b/src/api.rs @@ -100,10 +100,23 @@ pub fn build_router(state: AppState) -> Router { .filter_map(|s| s.parse().ok()) .collect(); - CorsLayer::new() - .allow_methods([Method::GET]) - .allow_headers([header::CONTENT_TYPE]) - .allow_origin(AllowOrigin::list(origins)) + if origins.len() < state.config.allowed_origins.len() { + tracing::warn!( + "{} origin(s) failed to parse (non-ASCII?): {:?}", + state.config.allowed_origins.len() - origins.len(), + state.config.allowed_origins + ); + } + + if origins.is_empty() { + tracing::warn!("No valid origins configured — falling back to permissive CORS"); + CorsLayer::permissive() + } else { + CorsLayer::new() + .allow_methods([Method::GET]) + .allow_headers([header::CONTENT_TYPE]) + .allow_origin(AllowOrigin::list(origins)) + } }; Router::new() @@ -632,7 +645,7 @@ mod tests { AppState { conn: Arc::new(Mutex::new(conn)), config: Arc::new(Config { - allowed_origins: vec!["https://hagfisk.poc.fló.fo".to_string()], + allowed_origins: vec!["https://hagfisk.poc.xn--fl-5ka.fo".to_string()], ..Default::default() }), }