aboutsummaryrefslogtreecommitdiff
path: root/src/server.rs
diff options
context:
space:
mode:
authorDuckonaut <duckonaut@#gmail.com>2026-11-04 15:49:25 +0100
committerDuckonaut <duckonaut@#gmail.com>2026-11-04 15:49:25 +0100
commit98135a87f9fc0faa9bb0f049211679f6f077c1c1 (patch)
treea307d150e67cb5636fc5207239a6fdac21c64304 /src/server.rs
parent9d8257ed4f1abe01f21522b0824bb51e33d4e3db (diff)
feature: remove port, add full address string
Diffstat (limited to 'src/server.rs')
-rw-r--r--src/server.rs13
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;