rustapi-extras 0.1.11

Production-ready middleware collection for RustAPI. Includes JWT auth, CORS, Rate Limiting, SQLx integration, and OpenTelemetry observability.
Documentation
[dependencies.base64]
optional = true
version = "0.22"

[dependencies.bytes]
version = "1.5"

[dependencies.cookie]
optional = true
version = "0.18"

[dependencies.dashmap]
optional = true
version = "6.0"

[dependencies.diesel]
default-features = false
features = ["r2d2"]
optional = true
version = "2.2"

[dependencies.dotenvy]
optional = true
version = "0.15"

[dependencies.envy]
optional = true
version = "0.4"

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

[dependencies.http]
version = "1.0"

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

[dependencies.jsonwebtoken]
optional = true
version = "9.3"

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

[dependencies.opentelemetry-otlp]
optional = true
version = "0.15"

[dependencies.opentelemetry-semantic-conventions]
optional = true
version = "0.14"

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

[dependencies.r2d2]
optional = true
version = "0.8"

[dependencies.rand]
optional = true
version = "0.8"

[dependencies.reqwest]
default-features = false
features = ["json", "rustls-tls"]
optional = true
version = "0.12"

[dependencies.rustapi-core]
default-features = false
version = "0.1.7"

[dependencies.rustapi-openapi]
default-features = false
version = "0.1.7"

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

[dependencies.serde_json]
version = "1.0"

[dependencies.sha2]
optional = true
version = "0.10"

[dependencies.sqlx]
default-features = false
optional = true
version = "0.8"

[dependencies.thiserror]
version = "1.0"

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

[dependencies.tracing]
version = "0.1"

[dependencies.tracing-opentelemetry]
optional = true
version = "0.23"

[dependencies.urlencoding]
optional = true
version = "2.1"

[dev-dependencies.proptest]
version = "1.4"

[dev-dependencies.rustapi-core]
default-features = false
features = ["test-utils"]
version = "0.1.7"

[dev-dependencies.serial_test]
version = "3.2"

[dev-dependencies.tempfile]
version = "3.10"

[dev-dependencies.tokio]
features = ["full", "macros", "rt-multi-thread"]
version = "1.35"

[features]
api-key = []
audit = ["dep:rand"]
cache = ["dep:dashmap"]
circuit-breaker = []
config = ["dep:dotenvy", "dep:envy"]
cookies = ["dep:cookie"]
cors = []
csrf = ["dep:cookie", "dep:rand", "dep:base64"]
dedup = ["dep:dashmap"]
default = []
diesel = ["dep:diesel", "dep:r2d2"]
diesel-mysql = ["diesel", "diesel/mysql"]
diesel-postgres = ["diesel", "diesel/postgres"]
diesel-sqlite = ["diesel", "diesel/sqlite"]
extras = ["jwt", "cors", "rate-limit"]
full = ["extras", "config", "cookies", "sqlx", "insight", "webhook", "timeout", "guard", "logging", "circuit-breaker", "security-headers", "api-key", "cache", "dedup", "sanitization", "retry", "otel", "structured-logging", "csrf", "oauth2-client", "audit"]
guard = ["jwt"]
insight = ["dep:dashmap", "dep:urlencoding"]
jwt = ["dep:jsonwebtoken"]
logging = []
oauth2-client = ["dep:sha2", "dep:rand", "dep:base64", "dep:reqwest", "dep:urlencoding"]
observability = ["otel", "structured-logging"]
otel = ["dep:opentelemetry", "dep:opentelemetry_sdk", "dep:opentelemetry-otlp", "dep:opentelemetry-semantic-conventions", "dep:tracing-opentelemetry"]
rate-limit = ["dep:dashmap"]
retry = []
sanitization = []
security-headers = []
sqlx = ["dep:sqlx"]
sqlx-mysql = ["sqlx", "sqlx/mysql", "sqlx/runtime-tokio"]
sqlx-postgres = ["sqlx", "sqlx/postgres", "sqlx/runtime-tokio"]
sqlx-sqlite = ["sqlx", "sqlx/sqlite", "sqlx/runtime-tokio"]
structured-logging = []
timeout = []
webhook = ["insight", "dep:reqwest"]

[lib]
name = "rustapi_extras"
path = "src/lib.rs"

[package]
authors = ["RustAPI Contributors"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
description = "Production-ready middleware collection for RustAPI. Includes JWT auth, CORS, Rate Limiting, SQLx integration, and OpenTelemetry observability."
documentation = "https://docs.rs/rustapi-extras"
edition = "2021"
homepage = "https://github.com/Tuntii/RustAPI"
license = "MIT OR Apache-2.0"
name = "rustapi-extras"
readme = "README.md"
repository = "https://github.com/Tuntii/RustAPI"
version = "0.1.11"