23 lines
560 B
Rust
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())
|
|
}
|