deploy config

This commit is contained in:
lelgenio 2024-06-22 13:42:24 -03:00
parent da40e48b19
commit d0a7e7ec88
10 changed files with 231 additions and 39 deletions

View file

@ -1,8 +1,9 @@
use std::{future::Future, pin::Pin};
use std::{collections::HashMap, future::Future, pin::Pin, sync::Arc};
use anyhow::Result;
use axum::{routing::get, Router};
use tokio::net::TcpListener;
use time::OffsetDateTime;
use tokio::{net::TcpListener, sync::Mutex};
use tower_http::services::ServeDir;
mod controllers;
@ -11,7 +12,12 @@ mod sources;
fn routes() -> Router {
Router::new()
.route("/", get(controllers::home::get))
.fallback_service(ServeDir::new("./static"))
.with_state(AppState::default())
}
#[derive(Default, Clone)]
pub struct AppState {
get_cache: Arc<Mutex<HashMap<String, (OffsetDateTime, String)>>>,
}
pub struct Config {
@ -26,7 +32,11 @@ pub struct RunningServer {
pub async fn run(config: Config) -> Result<RunningServer> {
setup_tracing();
let router = routes().layer(tower_http::trace::TraceLayer::new_for_http());
let static_dir = std::env::var("WARTHUNDER_LEAK_STATIC_DIR").unwrap_or("./static".to_string());
let router = routes()
.fallback_service(ServeDir::new(static_dir))
.layer(tower_http::trace::TraceLayer::new_for_http());
let tcp_listener = TcpListener::bind(format!("0.0.0.0:{}", config.port)).await?;
@ -44,7 +54,12 @@ pub async fn run(config: Config) -> Result<RunningServer> {
pub fn setup_tracing() {
use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt};
let log_filter = std::env::var("WARTHUNDER_LOG").unwrap_or_else(|_| "warthunder_leak_counter=debug,warn".into());
eprintln!("RUST_LOG: {log_filter}");
tracing_subscriber::registry()
.with(tracing_subscriber::EnvFilter::new(log_filter))
.with(tracing_subscriber::fmt::layer())
.try_init()
.ok();