feat: concurrency limiting

This commit is contained in:
Ahmet Kaan GÜMÜŞ 2025-01-10 23:11:00 +03:00
parent 498742deb2
commit c7863c806a
2 changed files with 3 additions and 0 deletions

View file

@ -22,4 +22,5 @@ serde = { version = "1.0.216", features = ["derive"] }
serde_json = "1.0.133"
sqlx = { version = "0.8.2", features = ["chrono", "macros", "postgres", "runtime-tokio-rustls"] }
tokio = { version = "1.42.0", features = ["rt-multi-thread"] }
tower = { version = "0.5.2", features = ["limit"] }
tower-http = { version = "0.6.2", features = ["cors"] }

View file

@ -13,6 +13,7 @@ pub mod user;
pub mod user_contact;
use axum::{extract::State, http::StatusCode, response::IntoResponse, routing::get, Router};
use tower::limit::ConcurrencyLimitLayer;
use tower_http::cors::CorsLayer;
use crate::{database, AppState};
@ -69,6 +70,7 @@ pub async fn route(State(app_state): State<AppState>) -> Router {
routing_permission::route(axum::extract::State(app_state.clone())),
)
.layer(CorsLayer::permissive())
.layer(ConcurrencyLimitLayer::new(100))
.with_state(app_state)
}