diff --git a/apps/charging-engine/src/rate_limit.rs b/apps/charging-engine/src/rate_limit.rs index 2ad195d..7d985c5 100644 --- a/apps/charging-engine/src/rate_limit.rs +++ b/apps/charging-engine/src/rate_limit.rs @@ -2,39 +2,15 @@ use axum::{ http::StatusCode, response::{IntoResponse, Response}, }; -use governor::{ - clock::DefaultClock, - state::InMemoryState, - Quota, -}; -use std::num::NonZeroU32; -use std::sync::Arc; use tower_governor::{ governor::GovernorConfig, - key_extractor::SmartIpKeyExtractor, GovernorLayer, }; -pub fn create_rate_limiter() -> GovernorLayer { - let requests_per_second: u32 = std::env::var("RATE_LIMIT_RPS") - .ok() - .and_then(|s| s.parse().ok()) - .unwrap_or(10); - let burst_size: u32 = std::env::var("RATE_LIMIT_BURST") - .ok() - .and_then(|s| s.parse().ok()) - .unwrap_or(20); +pub fn create_rate_limiter() -> GovernorLayer { + let governor_conf = GovernorConfig::default(); - let quota = Quota::per_second(NonZeroU32::new(requests_per_second).unwrap()) - .allow_burst(NonZeroU32::new(burst_size).unwrap()); - - let config = GovernorConfig::builder() - .per_second(quota) - .burst_size(burst_size) - .finish() - .unwrap(); - - GovernorLayer::new(&config) + GovernorLayer::new(governor_conf) } pub struct RateLimitResponse;