diff options
| -rw-r--r-- | src/db.rs | 2 | ||||
| -rw-r--r-- | src/main.rs | 11 |
2 files changed, 10 insertions, 3 deletions
@@ -5,7 +5,7 @@ const DATABASE_URL_FALLBACK: &str = "postgres://health:health@127.0.0.1:5432/hea pub async fn connect() -> Result<PgPool, sqlx::Error> { let database_url = - env::var("DATABASE_URL").unwrap_or_else(|_| DATABASE_URL_FALLBACK.to_owned()); + env::var("DATABASE_URL").unwrap_or_else(|_| DATABASE_URL_FALLBACK.to_string()); PgPoolOptions::new() .max_connections(5) .connect(&database_url) diff --git a/src/main.rs b/src/main.rs index a80a12f..4f34c0c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -6,12 +6,16 @@ mod models; #[cfg(test)] mod tests; +use std::env; + use axum::{Router, routing::get}; use dotenvy::dotenv; use sqlx::PgPool; use crate::error::AppError; +const BIND_ADDRESS_FALLBACK: &str = "127.0.0.1:8991"; + fn router(pool: PgPool) -> Router { Router::new() .route("/health", get(handlers::health)) @@ -38,8 +42,11 @@ async fn main() -> anyhow::Result<()> { dotenv().ok(); let pool = db::connect().await?; let app = router(pool); - let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await?; - tracing::info!("listening at 0.0.0.0:3000"); + let listener = tokio::net::TcpListener::bind( + env::var("HEALTH_BIND_ADDRESS").unwrap_or_else(|_| BIND_ADDRESS_FALLBACK.to_string()), + ) + .await?; + tracing::info!("listening at {}", listener.local_addr()?); axum::serve(listener, app).await?; Ok(()) } |
