From c46876a2b4f61d1b3ac8c4a4ece653d4703d08d8 Mon Sep 17 00:00:00 2001 From: Titouan Rigoudy Date: Fri, 12 Nov 2021 04:43:49 +0100 Subject: [PATCH] Add simple static server binary. --- server/examples/static.rs | 19 +++++++++++++++++++ server/src/server.rs | 1 + 2 files changed, 20 insertions(+) create mode 100644 server/examples/static.rs diff --git a/server/examples/static.rs b/server/examples/static.rs new file mode 100644 index 0000000..7dcac0d --- /dev/null +++ b/server/examples/static.rs @@ -0,0 +1,19 @@ +//! A simple server that serves static responses. + +// TODO: Serve responses with UserStatusHandler, initialize state from some +// TOML config file. + +use anyhow::Context; +use solstice_server::{LogHandlerFactory, ServerBuilder}; + +#[tokio::main] +async fn main() -> anyhow::Result<()> { + env_logger::init(); + + let (server, _handle) = ServerBuilder::new(LogHandlerFactory) + .bind() + .await + .context("binding server")?; + + server.serve().await +} diff --git a/server/src/server.rs b/server/src/server.rs index 1bc24b1..cd46a05 100644 --- a/server/src/server.rs +++ b/server/src/server.rs @@ -189,6 +189,7 @@ where pub async fn bind(self) -> anyhow::Result<(Server, ServerHandle)> { let listener = TcpListener::bind("localhost:0").await.context("binding")?; let address = listener.local_addr().context("getting local address")?; + info!("Server listening on {}", address); let (shutdown_tx, shutdown_rx) = oneshot::channel(); let (handler_shutdown_tx, handler_shutdown_rx) = watch::channel(());