composable-tower-http 0.3.1

Highly customizable http utilities built on top of tower.
Documentation
[package]

name = "composable-tower-http"

version = "0.3.1"

edition = "2021"

authors = ["Jad K. Haddad <jadkhaddad@gmail.com>"]

license = "MIT OR Apache-2.0"

readme = "README.md"

description = "Highly customizable 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_verified"

path = "examples/jwt_email_verified.rs"

required-features = ["axum"]



[[example]]

name = "jwt_email_verified_lite"

path = "examples/jwt_email_verified_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"]