[package] description = "Client IP address extractors for Axum" edition = "2024" license = "MIT" name = "axum-client-ip" repository = "https://github.com/imbolc/axum-client-ip" version = "1.3.1" [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"] [features] default = ["serde", "connect-info"] # Enables `ConnectInfo` extractor connect-info = ["axum/tokio"] # Enables `RightmostForwarded` extractor forwarded-header = ["client-ip/forwarded-header"] # Enables `ClientIpSource` serde compatibility serde = ["dep:serde"] [dependencies] axum = { version = "0.8", default-features = false } client-ip = "0.2" serde = { version = "1", features = ["derive"], optional = true } [dev-dependencies] axum = { version = "0.8", default-features = false, features = ["http1"] } envy = "0.4" http-body-util = "0.1" hyper = "1" tokio = { version = "1", features = ["full"] } tower = { version = "0.5", features = ["util"] } tower-http = { version = "0.6", features = ["trace"] } tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter"] } [lints.rust] unsafe_code = "forbid" future_incompatible = { level = "deny", priority = -2 } keyword_idents = { level = "deny", priority = -2 } let_underscore = { level = "deny", priority = -2 } missing_docs = "deny" nonstandard_style = { level = "deny", priority = -2 } refining_impl_trait = { level = "deny", priority = -2 } rust_2018_compatibility = { level = "deny", priority = -2 } rust_2018_idioms = { level = "deny", priority = -2 } rust_2021_compatibility = { level = "deny", priority = -2 } rust_2024_compatibility = { level = "deny", priority = -2 } unreachable_pub = { level = "warn", priority = -1 } unused = { level = "warn", priority = -1 } [lints.clippy] all = { level = "warn", priority = -1 }