use axum::{ routing::{get, post}, Router, }; use tower_cookies::CookieManagerLayer; use crate::state::RoutableAppState; mod authorize; mod index; mod login; mod logout; /// Build a router for the application, in a specific subpath eg `/yunohost/sso/` pub fn router(subpath: Option, state: RoutableAppState) -> Router { let app = Router::new() .route("/", get(index::route)) .route("/login/", post(login::route)) .route("/logout/", get(logout::route)) .route("/authorize/", get(authorize::route)) .layer(CookieManagerLayer::new()) .with_state(state); if let Some(p) = subpath { Router::new().nest(&p, app) } else { app } }