Skip to content

Commit a46dc09

Browse files
committed
fix(app-server): 挂载应用服务器中间件栈
1 parent 7954d02 commit a46dc09

1 file changed

Lines changed: 17 additions & 1 deletion

File tree

  • src/cortex-app-server/src

src/cortex-app-server/src/lib.rs

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,12 @@ pub mod websocket;
3636
use std::net::SocketAddr;
3737
use std::sync::Arc;
3838

39-
use axum::Router;
39+
use axum::{
40+
Router,
41+
middleware::{from_fn, from_fn_with_state},
42+
};
4043
use tokio::net::TcpListener;
44+
use tower::ServiceBuilder;
4145
use tower_http::cors::CorsLayer;
4246
use tower_http::trace::TraceLayer;
4347
use tracing::{info, warn};
@@ -136,9 +140,21 @@ pub fn create_router_with_state(state: Arc<AppState>) -> Router {
136140
.merge(streaming::routes())
137141
.merge(share::routes())
138142
.merge(admin::routes());
143+
let app_middleware = ServiceBuilder::new()
144+
.layer(from_fn_with_state(
145+
Arc::clone(&state),
146+
middleware::rate_limit_middleware,
147+
))
148+
.layer(from_fn_with_state(
149+
Arc::clone(&state),
150+
middleware::timeout_middleware,
151+
))
152+
.layer(from_fn(middleware::security_headers_middleware))
153+
.layer(from_fn(middleware::content_type_middleware));
139154

140155
Router::new()
141156
.nest("/api/v1", api_routes)
157+
.layer(app_middleware)
142158
.layer(TraceLayer::new_for_http())
143159
.layer(CorsLayer::permissive())
144160
.with_state(state)

0 commit comments

Comments
 (0)