mod account; mod model; use anyhow::Result; use axum::response::{IntoResponse, Response}; use axum_session::{SessionConfig, SessionStore}; use axum_session_mongo::SessionMongoPool; use http::StatusCode; use mongodb::Client; pub async fn run() -> Result<()> { let app = router(); let listener = tokio::net::TcpListener::bind("127.0.0.1:3000").await.unwrap(); axum::serve(listener, app).await.unwrap(); Ok(()) } fn router() -> axum::Router { axum::Router::new() .nest("/account", account::router()) //.nest("/predict", model::router()) } struct AppError(anyhow::Error); impl IntoResponse for AppError { fn into_response(self) -> Response { ( StatusCode::INTERNAL_SERVER_ERROR, format!("Something went wrong: {}", self.0), ) .into_response() } } impl From for AppError where E: Into, { fn from(err: E) -> Self { Self(err.into()) } }