forked from forktown/watch-party
Support HOST and PORT environment variables for socket binding
This commit is contained in:
parent
16cd0a45fd
commit
9e49ed1820
2 changed files with 12 additions and 3 deletions
|
@ -6,5 +6,6 @@ A Rust HTTP service that allows you to watch videos together with friends.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ cargo run --release
|
$ cargo run --release
|
||||||
# The server should listen at http://127.0.0.1:3000/ by default
|
# The server should listen at http://127.0.0.1:3000/ by default,
|
||||||
|
# but you can use the HOST and PORT environment variables to override this
|
||||||
```
|
```
|
||||||
|
|
12
src/main.rs
12
src/main.rs
|
@ -1,4 +1,4 @@
|
||||||
use std::{collections::HashMap, sync::Mutex};
|
use std::{collections::HashMap, net::IpAddr, sync::Mutex};
|
||||||
|
|
||||||
use once_cell::sync::Lazy;
|
use once_cell::sync::Lazy;
|
||||||
use serde_json::json;
|
use serde_json::json;
|
||||||
|
@ -136,5 +136,13 @@ async fn main() {
|
||||||
.or(warb::path::end().and(warb::fs::file("frontend/index.html")))
|
.or(warb::path::end().and(warb::fs::file("frontend/index.html")))
|
||||||
.or(warb::fs::dir("frontend"));
|
.or(warb::fs::dir("frontend"));
|
||||||
|
|
||||||
warb::serve(routes).run(([127, 0, 0, 1], 3000)).await;
|
let host = std::env::var("HOST")
|
||||||
|
.ok()
|
||||||
|
.and_then(|s| s.parse::<IpAddr>().ok())
|
||||||
|
.unwrap_or_else(|| [127, 0, 0, 1].into());
|
||||||
|
let port = std::env::var("PORT")
|
||||||
|
.ok()
|
||||||
|
.and_then(|s| s.parse::<u16>().ok())
|
||||||
|
.unwrap_or(3000);
|
||||||
|
warb::serve(routes).run((host, port)).await;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue