[package] name = "axum_gcra" description = "GCRA-based Rate Limiter for Axum with per-route/per-key rate limiting" authors = ["novacrazy "] version = "0.1.1" edition = "2021" license = "MIT OR Apache-2.0" include = ["src/**/*", "LICENSE-*", "README.md"] repository = "https://github.com/Lantern-chat/axum_gcra" documentation = "https://docs.rs/axum_gcra" keywords = ["axum", "rate-limiting", "middleware", "gcra"] categories = ["web-programming"] [features] default = ["tokio", "real_ip", "ahash"] ahash = ["dep:ahash"] tokio = ["dep:tokio", "axum/tokio"] real_ip = ["tokio", "dep:async-trait"] [dependencies] tower = "0.4" scc = "2" axum = { version = "0.7", default-features = false, features = ["matched-path"] } http = "1.1.0" futures-util = "0.3.30" pin-project-lite = "0.2.14" ahash = { version = "0.8.11", optional = true } tokio = { version = "1", default-features = false, features = ["rt", "sync", "time", "macros"], optional = true } async-trait = { version = "0.1.81", optional = true } [dev-dependencies] axum = { version = "0.7", default-features = true } tokio = { version = "1", features = ["full"] } [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"]