From f51cf8b5ac735cf228f3dba014365987394e7b66 Mon Sep 17 00:00:00 2001 From: Felix Ableitner Date: Wed, 2 Oct 2024 13:29:11 +0200 Subject: [PATCH] fix tests --- Cargo.lock | 1 + Cargo.toml | 1 + src/backend/mod.rs | 16 +++++++++------- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 77b1b85..d67ac61 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1689,6 +1689,7 @@ dependencies = [ "tokio", "tower 0.5.1", "tower-http", + "tower-layer", "tracing", "url", "uuid", diff --git a/Cargo.toml b/Cargo.toml index 2af923d..1b7d0b8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -77,6 +77,7 @@ web-sys = "0.3.70" config = { version = "0.14.0", features = ["toml"] } doku = "0.21.1" smart-default = "0.7.1" +tower-layer = "0.3.3" [dev-dependencies] pretty_assertions = "1.4.1" diff --git a/src/backend/mod.rs b/src/backend/mod.rs index 8311744..f9f305f 100644 --- a/src/backend/mod.rs +++ b/src/backend/mod.rs @@ -29,6 +29,7 @@ use axum::{ response::{IntoResponse, Response}, routing::get, Router, + ServiceExt, }; use axum_macros::{debug_handler, debug_middleware}; use chrono::Local; @@ -43,6 +44,7 @@ use log::info; use reqwest::header::HeaderMap; use tokio::net::TcpListener; use tower_http::cors::CorsLayer; +use tower_layer::Layer; pub mod api; pub mod config; @@ -84,10 +86,6 @@ pub async fn start(config: IbisConfig) -> MyResult<()> { conf.site_addr = data.config.bind; let routes = generate_route_list(App); - // Rewrite federation routes - // https://docs.rs/axum/0.7.4/axum/middleware/index.html#rewriting-request-uri-in-middleware - let middleware = axum::middleware::from_fn(federation_routes_middleware); - let config = data.clone(); let app = Router::new() .leptos_routes(&conf, routes, App) @@ -97,12 +95,16 @@ pub async fn start(config: IbisConfig) -> MyResult<()> { .nest("/api/v1", api_routes()) .nest("", nodeinfo::config()) .layer(FederationMiddleware::new(config)) - .layer(CorsLayer::permissive()) - .layer(middleware); + .layer(CorsLayer::permissive()); + + // Rewrite federation routes + // https://docs.rs/axum/0.7.4/axum/middleware/index.html#rewriting-request-uri-in-middleware + let middleware = axum::middleware::from_fn(federation_routes_middleware); + let app_with_middleware = middleware.layer(app); info!("Listening on {}", &data.config.bind); let listener = TcpListener::bind(&data.config.bind).await?; - axum::serve(listener, app.into_make_service()).await?; + axum::serve(listener, app_with_middleware.into_make_service()).await?; Ok(()) }