tako-rs-plugins 2.0.0

Internal plugin and concrete-middleware implementations for tako-rs. Use the `tako-rs` umbrella crate instead.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "tako-rs-plugins"
version = "2.0.0"
authors = ["Daniel Boros <dancixx@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Internal plugin and concrete-middleware implementations for tako-rs. Use the `tako-rs` umbrella crate instead."
homepage = "https://github.com/rust-dd/tako"
documentation = "https://docs.rs/tako-rs-plugins"
readme = "README.md"
keywords = [
    "web",
    "framework",
    "middleware",
    "plugin",
    "http",
]
categories = [
    "web-programming",
    "web-programming::http-server",
    "asynchronous",
]
license = "MIT"
repository = "https://github.com/rust-dd/tako"
resolver = "2"

[features]
ahash = [
    "dep:ahash",
    "tako-rs-core/ahash",
]
compio = [
    "dep:compio",
    "tako-rs-core/compio",
]
default = []
hmac-signature = ["dep:hmac"]
ip-filter = ["dep:ipnet"]
json-schema = ["dep:jsonschema"]
jwt-simple = ["dep:jwt-simple"]
metrics-opentelemetry = [
    "dep:opentelemetry",
    "dep:opentelemetry_sdk",
    "dep:opentelemetry-otlp",
    "plugins",
    "signals",
]
metrics-prometheus = [
    "dep:prometheus",
    "plugins",
    "signals",
]
multipart = [
    "dep:multer",
    "tako-rs-extractors/multipart",
]
plugins = [
    "dep:brotli",
    "dep:flate2",
    "tako-rs-core/plugins",
]
signals = ["tako-rs-core/signals"]
zstd = [
    "dep:zstd",
    "plugins",
]

[lib]
name = "tako_rs_plugins"
path = "src/lib.rs"
doctest = false

[dependencies.ahash]
version = "0.8.12"
features = ["serde"]
optional = true

[dependencies.anyhow]
version = "1.0.98"

[dependencies.async-trait]
version = "0.1.88"

[dependencies.base64]
version = "0.22.1"

[dependencies.brotli]
version = "8.0.1"
optional = true

[dependencies.bytes]
version = "1.10.1"

[dependencies.compio]
version = "0.18.0"
features = [
    "macros",
    "rustls",
    "time",
    "fs",
    "net",
]
optional = true

[dependencies.cookie]
version = "0.18.1"
features = [
    "private",
    "signed",
]

[dependencies.flate2]
version = "1.1.2"
optional = true

[dependencies.futures-util]
version = "0.3.31"

[dependencies.hmac]
version = "0.12.1"
optional = true

[dependencies.http]
version = "1.3.1"

[dependencies.http-body]
version = "1.0.1"

[dependencies.http-body-util]
version = "0.1.3"

[dependencies.httpdate]
version = "1.0.3"

[dependencies.ipnet]
version = "2.11.0"
optional = true

[dependencies.jsonschema]
version = "0.30"
optional = true
default-features = false

[dependencies.mime]
version = "0.3.17"

[dependencies.multer]
version = "3.1.0"
optional = true

[dependencies.once_cell]
version = "1.21.3"

[dependencies.opentelemetry]
version = "0.31.0"
optional = true

[dependencies.opentelemetry-otlp]
version = "0.31.0"
features = [
    "metrics",
    "http-proto",
]
optional = true

[dependencies.opentelemetry_sdk]
version = "0.31.0"
features = ["rt-tokio"]
optional = true

[dependencies.parking_lot]
version = "0.12.5"

[dependencies.pin-project-lite]
version = "0.2.16"

[dependencies.prometheus]
version = "0.13.4"
optional = true

[dependencies.scc]
version = "3.4.8"

[dependencies.serde]
version = "1.0.219"
features = ["derive"]

[dependencies.serde_json]
version = "1.0.140"

[dependencies.sha1]
version = "0.10.6"

[dependencies.sha2]
version = "0.10.9"

[dependencies.smallvec]
version = "1.15.1"

[dependencies.subtle]
version = "2.6.1"

[dependencies.tako-rs-core]
version = "2.0.0"

[dependencies.tako-rs-extractors]
version = "2.0.0"

[dependencies.tokio]
version = "1.52.1"
features = ["full"]

[dependencies.tokio-stream]
version = "0.1.17"

[dependencies.tracing]
version = "0.1.41"

[dependencies.url]
version = "2.5.4"

[dependencies.urlencoding]
version = "2.1.3"

[dependencies.uuid]
version = "1.17.0"
features = ["v4"]

[dependencies.zstd]
version = "0.13.3"
optional = true

[target.'cfg(not(target_os = "freebsd"))'.dependencies.jwt-simple]
version = "0.12.12"
optional = true

[target.'cfg(target_os = "freebsd")'.dependencies.jwt-simple]
version = "0.12.12"
features = ["pure-rust"]
optional = true
default-features = false

[lints.clippy]
cast_possible_truncation = "allow"
cast_possible_wrap = "allow"
cast_precision_loss = "allow"
cast_sign_loss = "allow"
duration_suboptimal_units = "allow"
format_push_string = "allow"
match_same_arms = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
must_use_candidate = "allow"
needless_pass_by_value = "allow"
non_std_lazy_statics = "allow"
return_self_not_must_use = "allow"
similar_names = "allow"
struct_field_names = "allow"
too_many_lines = "allow"
trivially_copy_pass_by_ref = "allow"
unused_async = "allow"

[lints.clippy.pedantic]
level = "warn"
priority = -1