From 8e5ecb1b9861468bd9c35ace16e475707cf4a4e8 Mon Sep 17 00:00:00 2001 From: continuist Date: Thu, 26 Jun 2025 22:03:50 -0400 Subject: [PATCH] Improve configurability of backend API port --- backend/config/api-memory.env | 3 ++- backend/config/api-postgres.env | 3 ++- backend/crates/sharenet-api-memory/src/main.rs | 6 ++++-- backend/crates/sharenet-api-postgres/src/main.rs | 6 ++++-- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/backend/config/api-memory.env b/backend/config/api-memory.env index 7ba90ca..122aa9a 100644 --- a/backend/config/api-memory.env +++ b/backend/config/api-memory.env @@ -1,5 +1,6 @@ # Server Configuration -SERVER_ADDR=127.0.0.1:3000 +HOST=127.0.0.1 +PORT=3000 # Optional: Logging Configuration RUST_LOG=info \ No newline at end of file diff --git a/backend/config/api-postgres.env b/backend/config/api-postgres.env index 7805c0a..89296f4 100644 --- a/backend/config/api-postgres.env +++ b/backend/config/api-postgres.env @@ -1,5 +1,6 @@ # Server Configuration -SERVER_ADDR=127.0.0.1:3000 +HOST=127.0.0.1 +PORT=3000 # Database Configuration DATABASE_URL=postgres://postgres:password@localhost:5432/sharenet diff --git a/backend/crates/sharenet-api-memory/src/main.rs b/backend/crates/sharenet-api-memory/src/main.rs index 42f6998..c6d6a10 100644 --- a/backend/crates/sharenet-api-memory/src/main.rs +++ b/backend/crates/sharenet-api-memory/src/main.rs @@ -13,7 +13,8 @@ async fn main() -> anyhow::Result<()> { dotenvy::from_path("config/api-memory.env").ok(); // Get configuration from environment variables - let server_addr = env::var("SERVER_ADDR").unwrap_or_else(|_| "127.0.0.1:3000".to_string()); + let host = env::var("HOST").unwrap_or_else(|_| "127.0.0.1".to_string()); + let port = env::var("PORT").unwrap_or_else(|_| "3000".to_string()); // Create repositories let user_repo = InMemoryUserRepository::new(); @@ -24,7 +25,8 @@ async fn main() -> anyhow::Result<()> { let product_service = Service::::new(product_repo); // Run API server - let addr = SocketAddr::from_str(&server_addr)?; + let addr = format!("{}:{}", host, port); + let addr = SocketAddr::from_str(&addr)?; run_api(addr, user_service, product_service).await; Ok(()) diff --git a/backend/crates/sharenet-api-postgres/src/main.rs b/backend/crates/sharenet-api-postgres/src/main.rs index ed75ad4..53151e2 100644 --- a/backend/crates/sharenet-api-postgres/src/main.rs +++ b/backend/crates/sharenet-api-postgres/src/main.rs @@ -15,7 +15,8 @@ async fn main() -> anyhow::Result<()> { dotenvy::from_path("config/api-postgres.env").ok(); // Get configuration from environment variables - let server_addr = env::var("SERVER_ADDR").unwrap_or_else(|_| "127.0.0.1:3000".to_string()); + let host = env::var("HOST").unwrap_or_else(|_| "127.0.0.1".to_string()); + let port = env::var("PORT").unwrap_or_else(|_| "3000".to_string()); let database_url = env::var("DATABASE_URL").expect("DATABASE_URL must be set"); // Create database pool @@ -33,7 +34,8 @@ async fn main() -> anyhow::Result<()> { let product_service = Service::::new(product_repo); // Run API server - let addr = SocketAddr::from_str(&server_addr)?; + let addr = format!("{}:{}", host, port); + let addr = SocketAddr::from_str(&addr)?; run_api(addr, user_service, product_service).await; Ok(())