[package]
edition = "2024"
name = "cloudillo-core"
version = "0.8.16"
authors = ["Szilárd Hajba <szilu@symbion.hu>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Core infrastructure for the Cloudillo platform: middleware, extractors, scheduler, rate limiting, and access control"
homepage = "https://cloudillo.org"
readme = "README.md"
keywords = [
"cloudillo",
"middleware",
"scheduler",
"rate-limiting",
"access-control",
]
categories = [
"web-programming",
"asynchronous",
]
license = "LGPL-3.0-only"
repository = "https://github.com/cloudillo/cloudillo-rs"
[lib]
name = "cloudillo_core"
path = "src/lib.rs"
[[test]]
name = "file_access_scope"
path = "tests/file_access_scope.rs"
[dependencies.async-trait]
version = "0.1"
[dependencies.axum]
version = "0.8"
features = [
"http2",
"macros",
"ws",
]
[dependencies.chrono]
version = "0.4"
[dependencies.cloudillo-types]
version = "0.8.16"
features = ["server"]
[dependencies.croner]
version = "3.0"
[dependencies.flume]
version = "0.12"
features = ["async"]
[dependencies.futures]
version = "0.3"
[dependencies.futures-core]
version = "0.3"
[dependencies.governor]
version = "0.10"
[dependencies.hickory-resolver]
version = "0.26"
[dependencies.http-body-util]
version = "0.1"
[dependencies.hyper]
version = "1.10"
[dependencies.hyper-rustls]
version = "0.27"
[dependencies.hyper-util]
version = "0.1"
features = [
"client",
"client-legacy",
"http1",
"http2",
]
[dependencies.instant-acme]
version = "0.8"
[dependencies.itertools]
version = "0.14"
[dependencies.jsonwebtoken]
version = "10.4"
features = ["rust_crypto"]
[dependencies.lru]
version = "0.18"
[dependencies.parking_lot]
version = "0.12"
[dependencies.pem]
version = "3.0"
[dependencies.rustls]
version = "0.23"
[dependencies.rustls-pki-types]
version = "1.14"
features = ["alloc"]
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.tokio]
version = "1"
features = [
"rt",
"rt-multi-thread",
"macros",
"fs",
]
[dependencies.tokio-util]
version = "0.7"
features = ["io"]
[dependencies.tower]
version = "0.5"
features = ["util"]
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3.23"
features = ["env-filter"]
[dependencies.x509-parser]
version = "0.18"
[dev-dependencies.cloudillo-meta-adapter-sqlite]
version = "0.8.16"
[dev-dependencies.tempfile]
version = "3.27"
[lints.clippy]
doc_markdown = "allow"
expect_used = "deny"
literal_string_with_formatting_args = "allow"
missing_errors_doc = "allow"
module_name_repetitions = "allow"
multiple_crate_versions = "allow"
must_use_candidate = "allow"
panic = "deny"
return_self_not_must_use = "allow"
similar_names = "allow"
too_many_lines = "allow"
uninlined_format_args = "allow"
unused_async = "allow"
unwrap_used = "deny"
[lints.clippy.cargo]
level = "warn"
priority = -1
[lints.clippy.complexity]
level = "warn"
priority = -1
[lints.clippy.correctness]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.clippy.perf]
level = "warn"
priority = -1
[lints.clippy.style]
level = "warn"
priority = -1
[lints.clippy.suspicious]
level = "warn"
priority = -1
[lints.rust]
ambiguous_negative_literals = "warn"
redundant_imports = "warn"
redundant_lifetimes = "warn"
trivial_numeric_casts = "warn"
unsafe_code = "forbid"
unused_lifetimes = "warn"