diff options
| author | Duckonaut <duckonaut@#gmail.com> | 2026-11-04 15:49:25 +0100 |
|---|---|---|
| committer | Duckonaut <duckonaut@#gmail.com> | 2026-11-04 15:49:25 +0100 |
| commit | 98135a87f9fc0faa9bb0f049211679f6f077c1c1 (patch) | |
| tree | a307d150e67cb5636fc5207239a6fdac21c64304 /src/server.rs | |
| parent | 9d8257ed4f1abe01f21522b0824bb51e33d4e3db (diff) | |
feature: remove port, add full address string
Diffstat (limited to 'src/server.rs')
| -rw-r--r-- | src/server.rs | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/server.rs b/src/server.rs index b6e8110..76be5a7 100644 --- a/src/server.rs +++ b/src/server.rs @@ -3,6 +3,7 @@ use std::io::Write; use std::net::SocketAddr; use std::path::PathBuf; use std::pin::Pin; +use std::str::FromStr; use std::sync::{Arc, Mutex}; use http_body_util::{BodyExt, Collected, Full}; @@ -19,7 +20,7 @@ use color_eyre::Result; use mlua::Lua; pub struct Server { - port: u16, + addr: SocketAddr, state: State, } @@ -30,18 +31,20 @@ struct State { } impl Server { - pub async fn serve(lua: Lua, port: u16, public_dir: Option<PathBuf>) -> Result<()> { + pub async fn serve(lua: Lua, address: &str, public_dir: Option<PathBuf>) -> Result<()> { let state = State { lua: Arc::new(Mutex::new(lua)), public_dir, }; - let server = Self { port, state }; + + let addr: SocketAddr = SocketAddr::from_str(address)?; + + let server = Self { addr, state }; server.start().await } async fn start(self) -> Result<()> { - let addr = SocketAddr::from(([127, 0, 0, 1], self.port)); - let listener = TcpListener::bind(addr).await?; + let listener = TcpListener::bind(self.addr).await?; let state = self.state; |
