dockerize

This commit is contained in:
2026-05-09 22:19:42 +01:00
parent 79ed58ee23
commit eb9cfd3375
4 changed files with 103 additions and 4 deletions

View File

@@ -81,8 +81,19 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
println!("USAGE: {} <urls.txt>", args[0]);
Err("Incorrect arguments")?
}
let urls_filename = args[1].clone();
let config = spawn_blocking(|| std::fs::read_to_string("urls.txt")).await??;
let bind_address = match env::var("URLS_TXT_BIND_ADDRESS") {
Ok(addr) => addr,
Err(env::VarError::NotPresent) => "127.0.0.1:3000".to_string(),
Err(e) => {
println!("Failed to read environment variable URLS_TXT_BIND_ADDRESS: {e}");
Err(e)?
}
};
let config = spawn_blocking(move || std::fs::read_to_string(urls_filename)).await??;
let mut urlmap = HashMap::new();
for url_pair in config.split('\n') {
if url_pair.len() == 0 {
@@ -105,7 +116,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
let urlmap = Arc::new(urlmap);
println!("Starting TCP Listener...");
let listener = TcpListener::bind("127.0.0.1:3000").await?;
let listener = TcpListener::bind(&bind_address).await?;
loop {
let (socket, _addr) = listener.accept().await?;
let urlmap = urlmap.clone();