aboutsummaryrefslogtreecommitdiffstats
path: root/crates/server/src/lib.rs
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2026-07-20 18:23:39 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2026-07-20 18:24:17 +0200
commit0bcb8e7bd8aefb089ad88f5ebfd7364ae81cdf06 (patch)
tree83e098b147f25670ff15f7bcd1ac72dc1115b3b6 /crates/server/src/lib.rs
parentchore: Remove some warnings (cargo fix) (diff)
downloadatuin-0bcb8e7bd8aefb089ad88f5ebfd7364ae81cdf06.zip
chore(server): Remove warnings
Diffstat (limited to '')
-rw-r--r--crates/server/src/lib.rs86
1 files changed, 0 insertions, 86 deletions
diff --git a/crates/server/src/lib.rs b/crates/server/src/lib.rs
deleted file mode 100644
index 726afeea..00000000
--- a/crates/server/src/lib.rs
+++ /dev/null
@@ -1,86 +0,0 @@
-use std::future::Future;
-use std::net::SocketAddr;
-
-use axum::{Router, serve};
-use database::db::ServerPostgres;
-use eyre::{Context, Result};
-
-pub mod database;
-mod handlers;
-mod metrics;
-mod router;
-
-pub use settings::Settings;
-
-pub mod settings;
-
-use tokio::net::TcpListener;
-use tokio::signal;
-
-#[cfg(target_family = "unix")]
-async fn shutdown_signal() {
- let mut term = signal::unix::signal(signal::unix::SignalKind::terminate())
- .expect("failed to register signal handler");
- let mut interrupt = signal::unix::signal(signal::unix::SignalKind::interrupt())
- .expect("failed to register signal handler");
-
- tokio::select! {
- _ = term.recv() => {},
- _ = interrupt.recv() => {},
- };
- eprintln!("Shutting down gracefully...");
-}
-
-pub async fn launch(settings: Settings, addr: SocketAddr) -> Result<()> {
- launch_with_tcp_listener(
- settings,
- TcpListener::bind(addr)
- .await
- .context("could not connect to socket")?,
- shutdown_signal(),
- )
- .await
-}
-
-pub async fn launch_with_tcp_listener(
- settings: Settings,
- listener: TcpListener,
- shutdown: impl Future<Output = ()> + Send + 'static,
-) -> Result<()> {
- let r = make_router(settings).await?;
-
- serve(listener, r.into_make_service())
- .with_graceful_shutdown(shutdown)
- .await?;
-
- Ok(())
-}
-
-// The separate listener means it's much easier to ensure metrics are not accidentally exposed to
-// the public.
-pub async fn launch_metrics_server(host: String, port: u16) -> Result<()> {
- let listener = TcpListener::bind((host, port))
- .await
- .context("failed to bind metrics tcp")?;
-
- let recorder_handle = metrics::setup_metrics_recorder();
-
- let router = Router::new().route(
- "/metrics",
- axum::routing::get(move || std::future::ready(recorder_handle.render())),
- );
-
- serve(listener, router.into_make_service())
- .with_graceful_shutdown(shutdown_signal())
- .await?;
-
- Ok(())
-}
-
-async fn make_router(settings: Settings) -> Result<Router, eyre::Error> {
- let db = ServerPostgres::new(&settings.db_settings)
- .await
- .wrap_err_with(|| format!("failed to connect to db: {:?}", settings.db_settings))?;
- let r = router::router(db, settings);
- Ok(r)
-}