use std::sync::Arc;
use tower_governor::{
governor::GovernorConfigBuilder, key_extractor::PeerIpKeyExtractor, GovernorLayer,
};
pub fn rate_limit_layer() -> GovernorLayer<
PeerIpKeyExtractor,
governor::middleware::NoOpMiddleware<governor::clock::QuantaInstant>,
axum::body::Body,
> {
let config = Arc::new(
GovernorConfigBuilder::default()
.per_second(1) .burst_size(60) .finish()
.unwrap(),
);
GovernorLayer::new(config)
}