refactor: move rate limiter into http layer

This commit is contained in:
2026-06-13 06:39:42 +02:00
parent 0f195de9e5
commit 6fc5cc1bc8
4 changed files with 6 additions and 5 deletions

View File

@@ -1,9 +1,10 @@
mod handlers; mod handlers;
mod middleware; mod middleware;
mod rate_limit;
use crate::{ use crate::{
config::AppConfig, error::AppError, pokemon::PokeApiClient, rate_limit::RateLimiter, config::AppConfig, error::AppError, pokemon::PokeApiClient, service::PokedexService,
service::PokedexService, telemetry::Telemetry, translation::TranslationClient, telemetry::Telemetry, translation::TranslationClient,
}; };
use axum::{Router, extract::Request, middleware as axum_middleware, routing::get}; use axum::{Router, extract::Request, middleware as axum_middleware, routing::get};
use std::sync::Arc; use std::sync::Arc;
@@ -14,6 +15,8 @@ use tower_http::{
trace::{DefaultOnResponse, TraceLayer}, trace::{DefaultOnResponse, TraceLayer},
}; };
pub use rate_limit::RateLimiter;
#[derive(Clone)] #[derive(Clone)]
pub struct AppState { pub struct AppState {
pub(super) service: Arc<PokedexService>, pub(super) service: Arc<PokedexService>,

View File

@@ -7,7 +7,6 @@ pub mod domain;
pub mod error; pub mod error;
pub mod http; pub mod http;
pub mod pokemon; pub mod pokemon;
pub mod rate_limit;
pub mod service; pub mod service;
pub mod telemetry; pub mod telemetry;
pub mod translation; pub mod translation;

View File

@@ -3,9 +3,8 @@ use axum::{
http::{Request, StatusCode, header::HeaderName}, http::{Request, StatusCode, header::HeaderName},
}; };
use pokedex_api::{ use pokedex_api::{
http::{AppState, create_app}, http::{AppState, RateLimiter, create_app},
pokemon::PokeApiClient, pokemon::PokeApiClient,
rate_limit::RateLimiter,
service::PokedexService, service::PokedexService,
telemetry::Telemetry, telemetry::Telemetry,
translation::TranslationClient, translation::TranslationClient,