use axum::{extract::Request, http::StatusCode, middleware::{self, Next}, response::Response, routing::*, Router}; use log::*; use crate::backend_kv; pub fn secrets_router() -> Router { // Router::new().layer(map_request(handler)) Router::new() .nest("/:path", backend_kv::asdasdsadsd()) } // async fn handler(Host(hostname): Host, request: Request) -> &'static str { // TODO: Find a solution for this mess // async fn handler(request: Request) -> Result, StatusCode> { // // let path: Vec<&str> = request.uri().path().split('/').clone().collect(); // // log::info!("path, {:?}", path[1]); // let root = service_fn(|req: Request| async move { // let res = Response::new("Hello, World!".to_string()); // Ok::<_, Infallible>(res) // }); // let root = BoxService::new(root); // let mut routes = vec!["/abc", "/def"]; // routes.sort_unstable_by(|a, b| a.len().cmp(&b.len())); // let mut app = Router::new(); // app.as_service().call(request).await.unwrap(); // // match path[1] { // // "test" => { // // log::info!("test route"); // // // TODO: Nest another Router here // // return Ok(Request::new(Body::empty())); // // } // // _ => { // // log::info!("default"); // // return Err(StatusCode::NOT_FOUND); // // } // // } // Err(StatusCode::IM_A_TEAPOT) // }