findpenguins-feed/src/app.rs

23 lines
560 B
Rust

use std::collections::HashMap;
use std::sync::Arc;
use axum::{routing::get, Router};
use tower_http::trace::TraceLayer;
use crate::{css_handler::stylesheet_handler, feeds::Feed, routes};
#[derive(Debug)]
pub struct AppState {
pub feeds: HashMap<String, Feed>,
}
pub fn create(feeds: HashMap<String, Feed>) -> Router {
let app_state = Arc::new(AppState { feeds });
Router::new()
.route("/styles.css", get(stylesheet_handler))
.nest("/", routes::all())
.with_state(app_state)
.layer(TraceLayer::new_for_http())
}