mirror of
https://github.com/bitcoinresearchkit/brk.git
synced 2026-07-02 23:09:01 -07:00
website: auto port selection
This commit is contained in:
@@ -79,8 +79,25 @@ async fn main() -> std::io::Result<()> {
|
||||
))
|
||||
.layer(CorsLayer::permissive());
|
||||
|
||||
let port = 3111;
|
||||
let listener = TcpListener::bind(format!("0.0.0.0:{port}")).await?;
|
||||
let mut last_error = None;
|
||||
let (port, listener) = {
|
||||
let mut bound = None;
|
||||
|
||||
for port in [3110, 3111] {
|
||||
match TcpListener::bind(("0.0.0.0", port)).await {
|
||||
Ok(listener) => {
|
||||
bound = Some((port, listener));
|
||||
break;
|
||||
}
|
||||
Err(error) => {
|
||||
info!(port, ?error, "website server port unavailable");
|
||||
last_error = Some(error);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bound.ok_or_else(|| last_error.expect("at least one port was attempted"))?
|
||||
};
|
||||
|
||||
info!("website server listening on port {port}");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user