Require specifying port on command line

This commit is contained in:
2025-06-13 15:24:55 +02:00
parent f3483c528d
commit 1424d765f7

View File

@ -49,7 +49,16 @@ struct ApplicationState {
#[tokio::main] #[tokio::main]
async fn main() { async fn main() {
let image_path = args_os().nth(1).expect("Usage: image-gallery IMAGE_DIRECTORY"); let args = args_os()
.skip(1)
.collect::<Vec<_>>();
let args = args
.windows(2)
.next()
.expect("Usage: image-gallery IMAGE_DIRECTORY PORT");
let image_path = &args[0];
let port = args[1].to_string_lossy().parse::<u16>().expect("Invalid port specified");
let mut secret_key: SecretKey = [0; 64]; let mut secret_key: SecretKey = [0; 64];
OsRng.fill_bytes(&mut secret_key); OsRng.fill_bytes(&mut secret_key);
@ -107,7 +116,7 @@ async fn main() {
cpu_task_limit: Arc::new(Semaphore::new(4)), cpu_task_limit: Arc::new(Semaphore::new(4)),
}); });
let addr = SocketAddr::from(([0, 0, 0, 0], 9030)); let addr = SocketAddr::from(([0, 0, 0, 0], port));
tracing::info!("listening on {}", addr); tracing::info!("listening on {}", addr);
axum::Server::bind(&addr) axum::Server::bind(&addr)
.serve(app.into_make_service()) .serve(app.into_make_service())