Skip to content

Commit 6afaf2f

Browse files
JAD3Njakobhellermann
authored andcommitted
Allow address to be customized with an ENV variable
1 parent 704e383 commit 6afaf2f

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

src/main.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,9 @@ fn main() -> Result<(), anyhow::Error> {
1717
tracing_subscriber::fmt::fmt().without_time().with_env_filter(filter).init();
1818

1919
let title = std::env::var("CARGO_PKG_NAME").unwrap_or_else(|_| "".to_string());
20+
let address = std::env::var("WASM_SERVER_RUNNER_ADDRESS").unwrap_or_else(|_| "127.0.0.1".to_string());
2021

21-
let options = Options { title };
22+
let options = Options { title, address };
2223

2324
let wasm_file = std::env::args()
2425
.nth(1)

src/server.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ fn generate_version() -> String {
1616

1717
pub struct Options {
1818
pub title: String,
19+
pub address: String,
1920
}
2021

2122
pub async fn run_server(options: Options, output: WasmBindgenOutput) -> Result<()> {
@@ -43,8 +44,11 @@ pub async fn run_server(options: Options, output: WasmBindgenOutput) -> Result<(
4344
.fallback(serve_dir)
4445
.layer(middleware_stack);
4546

46-
let port = pick_port::pick_free_port(1334, 10).unwrap_or(1334);
47-
let addr = SocketAddr::from(([127, 0, 0, 1], port));
47+
let mut address_string = options.address;
48+
if !address_string.contains(":") {
49+
address_string += &(":".to_owned() + &pick_port::pick_free_port(1334, 10).unwrap_or(1334).to_string());
50+
}
51+
let addr: SocketAddr = address_string.parse().expect("Couldn't parse address");
4852

4953
tracing::info!("starting webserver at http://{}", addr);
5054
axum::Server::bind(&addr).serve(app.into_make_service()).await?;

0 commit comments

Comments
 (0)