api-bones-tower 2.0.3

Tower middleware for api-bones services (RequestIdLayer, ProblemJsonLayer)
Documentation
[package]
name = "api-bones-tower"
version = "2.0.3"
edition = "2024"
authors = ["Gregoire Salingue"]
license = "MIT"
description = "Tower middleware for api-bones services (RequestIdLayer, ProblemJsonLayer)"
repository = "https://github.com/brefwiz/api-bones"
homepage = "https://github.com/brefwiz/api-bones"
documentation = "https://docs.rs/api-bones-tower"
readme = "README.md"
keywords = ["rest", "tower", "middleware", "http", "axum"]
categories = ["web-programming::http-server", "api-bindings"]
rust-version = "1.85"

## Feature flags
##
## By default this crate enables `std` and `serde` on `api-bones`.
## Use optional features to pass through additional `api-bones` features:
##
## ```toml
## api-bones-tower = { version = "2", features = ["uuid", "chrono"] }
## ```
[features]
## Enables UUID-based request IDs via api-bones/uuid.
uuid = ["api-bones/uuid"]
## Enables chrono timestamp support via api-bones/chrono.
chrono = ["api-bones/chrono"]

[dependencies]
api-bones = { version = "4.0", path = "..", default-features = false, features = ["std", "serde"] }
tower = { version = "0.5", features = ["util"] }
http = { version = "1.0" }
http-body = { version = "1.0" }
pin-project = { version = "1" }
serde_json = { version = "1.0" }

[lints.rust]
unsafe_code = { level = "deny", priority = -1 }
unsafe_op_in_unsafe_fn = { level = "deny", priority = -1 }
warnings = { level = "deny", priority = -1 }
unused_imports = { level = "deny", priority = -1 }
unused_variables = { level = "deny", priority = -1 }
dead_code = { level = "deny", priority = -1 }

[lints.clippy]
all = { level = "deny", priority = -1 }
pedantic = { level = "deny", priority = -1 }
nursery = { level = "warn", priority = -1 }
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
missing_const_for_fn = "allow"
derive_partial_eq_without_eq = "allow"
option_if_let_else = "allow"

[dev-dependencies]
tokio = { version = "1", features = ["macros", "rt", "rt-multi-thread"] }

[[example]]
name = "request_id"

[[example]]
name = "problem_json"