[package]
name = "cloudillo-core"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
authors.workspace = true
description = "Core infrastructure for the Cloudillo platform: middleware, extractors, scheduler, rate limiting, and access control"
keywords = ["cloudillo", "middleware", "scheduler", "rate-limiting", "access-control"]
categories = ["web-programming", "asynchronous"]
readme = "../../README.md"
[dependencies]
cloudillo-types = { workspace = true }
async-trait = "0.1"
axum = { version = "0.8", features = ["http2", "macros", "ws"] }
chrono = "0.4"
croner = "3.0"
flume = { version = "0.12", features = ["async"] }
futures = "0.3"
futures-core = "0.3"
governor = "0.10"
hickory-resolver = "0.25"
http-body-util = "0.1"
hyper = "1.8"
hyper-rustls = "0.27"
hyper-util = { version = "0.1", features = ["client", "client-legacy", "http1", "http2"] }
instant-acme = "0.8"
itertools = "0.14"
jsonwebtoken = { version = "10.3", features = ["rust_crypto"] }
lru = "0.16"
parking_lot = "0.12"
pem = "3.0"
rustls = "0.23"
rustls-pki-types = { version = "1.14", features = ["alloc"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
tokio = { version = "1", features = ["rt", "rt-multi-thread", "macros", "fs"] }
tokio-util = { version = "0.7", features = ["io"] }
tower = { version = "0.5", features = ["util"] }
tracing = "0.1"
x509-parser = "0.18"
[dev-dependencies]
tracing-subscriber = "0.3"