cloudillo-types 0.8.9

Shared types, adapter traits, and error types for the Cloudillo federated collaboration platform
Documentation
[package]
name = "cloudillo-types"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
authors.workspace = true
description = "Shared types, adapter traits, and error types for the Cloudillo federated collaboration platform"
keywords = ["cloudillo", "types", "federation", "adapter", "traits"]
categories = ["web-programming", "data-structures"]
readme = "../../README.md"

[features]
default = []
# Enable From impls for server-specific error types (image, acme, crypto, etc.)
server = [
	"dep:hyper",
	"dep:hyper-util",
	"dep:image",
	"dep:instant-acme",
	"dep:jsonwebtoken",
	"dep:pem",
	"dep:rustls",
	"dep:rustls-pki-types",
	"dep:x509-parser",
]

[dependencies]
async-trait = "0.1.89"
axum = { version = "0.8.8", default-features = false, features = ["json"] }
base64 = "0.22.1"
chrono = "0.4"
flume = { version = "0.12.0", features = ["async"] }
futures = "0.3.32"
futures-core = "0.3.32"
rand = "0.10.0"
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.149"
serde_with = "3.16.1"
sha2 = "0.10.9"
tokio = { version = "1.49.0", features = ["io-util", "rt"] }
tracing = "0.1.44"

# Optional server-specific deps (for From<X> impls on Error)
hyper = { version = "1.8.1", optional = true }
hyper-util = { version = "0.1.20", features = ["client", "client-legacy", "http1", "http2"], optional = true }
image = { version = "0.25.9", optional = true }
instant-acme = { version = "0.8.4", optional = true }
jsonwebtoken = { version = "10.3.0", features = ["rust_crypto"], optional = true }
pem = { version = "3.0.6", optional = true }
rustls = { version = "0.23.36", optional = true }
rustls-pki-types = { version = "1.14.0", features = ["alloc"], optional = true }
x509-parser = { version = "0.18.1", optional = true }

[dev-dependencies]
serde_urlencoded = "0.7"