[package] name = "composable-tower-http" version = "0.3.0" edition = "2021" authors = ["Jad K. Haddad "] license = "MIT OR Apache-2.0" readme = "README.md" description = "Highly costumizable http utilities built on top of tower." repository = "https://github.com/JadKHaddad/composable-tower-http" keywords = ["tower", "http", "middleware", "extension", "composable"] [features] default = [] axum = ["dep:axum"] [dependencies] tower = "0.5.0" tower-layer = "0.3.0" tokio = { version = "1.41.1", features = ["sync", "macros"] } http = "1.1.0" jsonwebtoken = "9.2.0" axum = { version = "0.7.9", optional = true } serde = "1.0.215" thiserror = "2.0.3" tracing = "0.1.40" reqwest = { version = "0.12.7", features = ["json"] } base64 = "0.22.1" [dev-dependencies] tokio = { version = "1.39.3", features = ["full"] } tracing-subscriber = { version = "0.3.18", features = ["env-filter"] } anyhow = "1.0.93" dotenvy = "0.15.7" tower-http = { version = "0.6.2", features = ["trace"] } mockall = "0.13.1" [[example]] name = "api_key" path = "examples/api_key.rs" required-features = ["axum"] [[example]] name = "basic_auth" path = "examples/basic_auth.rs" required-features = ["axum"] [[example]] name = "map" path = "examples/map.rs" required-features = ["axum"] [[example]] name = "map_err" path = "examples/map_err.rs" required-features = ["axum"] [[example]] name = "jwt" path = "examples/jwt.rs" required-features = ["axum"] [[example]] name = "jwt_email_verfied" path = "examples/jwt_email_verfied.rs" required-features = ["axum"] [[example]] name = "jwt_email_verfied_lite" path = "examples/jwt_email_verfied_lite.rs" required-features = ["axum"] [[example]] name = "jwt_random_verification" path = "examples/jwt_random_verification.rs" required-features = ["axum"] [[example]] name = "optional" path = "examples/optional.rs" required-features = ["axum"] [[example]] name = "any" path = "examples/any.rs" required-features = ["axum"] [[example]] name = "or" path = "examples/or.rs" required-features = ["axum"] [[example]] name = "and" path = "examples/and.rs" required-features = ["axum"] [[example]] name = "or_and" path = "examples/or_and.rs" required-features = ["axum"] [[example]] name = "jwt_groups" path = "examples/jwt_groups.rs" required-features = ["axum"] [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"]