From 2bff93ff435dbfc285fee46471466dacd07590fd Mon Sep 17 00:00:00 2001 From: Luke Harding Date: Thu, 2 May 2024 19:49:48 -0400 Subject: [PATCH] Allow use of custom port and bind_addr. --- server/src/main.rs | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/server/src/main.rs b/server/src/main.rs index 781782f..84703e4 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -1,13 +1,31 @@ +use std::env; + use actix_web::{App, get, HttpResponse, HttpServer, Responder}; +use crate::util::warn_println; + mod util; #[actix_web::main] async fn main() -> std::io::Result<()> { util::print_copyright_notice(); - let port = 8000; - let bind_addr = "127.0.0.1"; + // Default Server Values + let mut port = 8000; + let mut bind_addr = String::from("127.0.0.1"); + + // If env variable for port or bind_addr is present use that instead of default. + if let Ok(env_port) = env::var("PORT") { + if let Ok(env_port) = env_port.parse::() { + port = env_port; + } else { + warn_println("Failed to parse PORT env variable using default value."); + } + } + + if let Ok(env_addr) = env::var("BIND_ADDR") { + bind_addr = env_addr; + } util::notice_println(format!("Starting server on {}:{}", bind_addr, port));