From a46dc0975df73cbdc83afd9a4d97d74bfc8be601 Mon Sep 17 00:00:00 2001 From: wuyangji <694410194@qq.com> Date: Thu, 14 May 2026 01:17:28 +0800 Subject: [PATCH] =?UTF-8?q?fix(app-server):=20=E6=8C=82=E8=BD=BD=E5=BA=94?= =?UTF-8?q?=E7=94=A8=E6=9C=8D=E5=8A=A1=E5=99=A8=E4=B8=AD=E9=97=B4=E4=BB=B6?= =?UTF-8?q?=E6=A0=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/cortex-app-server/src/lib.rs | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/cortex-app-server/src/lib.rs b/src/cortex-app-server/src/lib.rs index 8e7acdf88..9eab60e7f 100644 --- a/src/cortex-app-server/src/lib.rs +++ b/src/cortex-app-server/src/lib.rs @@ -36,8 +36,12 @@ pub mod websocket; use std::net::SocketAddr; use std::sync::Arc; -use axum::Router; +use axum::{ + Router, + middleware::{from_fn, from_fn_with_state}, +}; use tokio::net::TcpListener; +use tower::ServiceBuilder; use tower_http::cors::CorsLayer; use tower_http::trace::TraceLayer; use tracing::{info, warn}; @@ -136,9 +140,21 @@ pub fn create_router_with_state(state: Arc) -> Router { .merge(streaming::routes()) .merge(share::routes()) .merge(admin::routes()); + let app_middleware = ServiceBuilder::new() + .layer(from_fn_with_state( + Arc::clone(&state), + middleware::rate_limit_middleware, + )) + .layer(from_fn_with_state( + Arc::clone(&state), + middleware::timeout_middleware, + )) + .layer(from_fn(middleware::security_headers_middleware)) + .layer(from_fn(middleware::content_type_middleware)); Router::new() .nest("/api/v1", api_routes) + .layer(app_middleware) .layer(TraceLayer::new_for_http()) .layer(CorsLayer::permissive()) .with_state(state)