dockerize
This commit is contained in:
15
src/main.rs
15
src/main.rs
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user