tower-rate-limiter 0.1.3

Keyed fixed-window rate limiting middleware for Tower
Documentation
//! Keyed HTTP rate limiting middleware for Tower.
//!
//! The crate is Tower-first: the core interfaces do not require Axum, Tokio, Redis, or a
//! particular request identity policy. Optional adapters are enabled through Cargo features.

pub mod limiter;
pub mod store;

pub use limiter::{
    ConfigError, DefaultResponseFactory, IpKeyExtractor, KeyExtractor, LimitProvider, RateLimitBuilder,
    RateLimitContext, RateLimitError, RateLimitFields, RateLimitFuture, RateLimitLayer, RateLimitPolicy,
    ResponseFactory, ResponseReason, Store, StoreFailureMode, Usage,
};

#[cfg(feature = "memory")]
pub use store::{MemoryStore, MemoryStoreError};

#[cfg(all(feature = "redis", any(feature = "runtime-tokio", feature = "runtime-smol")))]
pub use store::{RedisStore, RedisStoreError};