use std::env; use axum::{routing::get, Json, Router}; use data::MyMessage; use tracing::info; use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt}; use tower_http::{trace::TraceLayer}; #[tokio::main] async fn main() { dotenv::dotenv().ok(); tracing_subscriber::registry() .with(tracing_subscriber::EnvFilter::new( std::env::var("RUST_LOG").unwrap_or_else(|_| "".into()), )) .with(tracing_subscriber::fmt::layer()) .init(); let bind_address = env::var("BIND_ADDRESS").unwrap(); info!("Starting server on {}", bind_address); let app = Router::new() .route("/api/test", get(test)) .layer(TraceLayer::new_for_http()); axum::Server::bind(&bind_address.parse().unwrap()) .serve(app.into_make_service()) .await .unwrap(); } async fn test() -> Json { Json(MyMessage { message: "Hello, ,World!".to_string(), }) }