feat: add auth middleware chain with ctx resolver and cookie parsing

This commit is contained in:
2026-04-21 00:04:10 +03:00
parent 90c9b9d6ff
commit a120838cbc
10 changed files with 252 additions and 45 deletions

View File

@@ -1,3 +1,4 @@
mod ctx;
mod error;
mod model;
mod web;
@@ -11,7 +12,12 @@ use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt};
use crate::{
model::FileController,
web::{routes_file::routes_file, routes_health::routes_health, routes_login::routes_login},
web::{
mw_auth::{mw_ctx_resolver, mw_require_auth},
routes_file::routes_file,
routes_health::routes_health,
routes_login::routes_login,
},
};
#[tokio::main]
@@ -27,11 +33,18 @@ async fn main() -> Result<()> {
let file_controller = FileController::new().await?;
let routes_file =
routes_file(file_controller.clone()).route_layer(middleware::from_fn(mw_require_auth));
let app = Router::new()
.nest("/api", routes_file(file_controller))
.nest("/api", routes_file)
.merge(routes_health())
.merge(routes_login())
.layer(middleware::map_response(main_response_mapper))
.layer(middleware::from_fn_with_state(
file_controller,
mw_ctx_resolver,
))
.layer(CookieManagerLayer::new())
.fallback_service(ServeDir::new("./"));