actix-cloud 0.4.10

Actix Cloud is an all-in-one web framework based on Actix Web.
Documentation
[package]
name = "actix-cloud"
version = "0.4.10"
edition = "2021"
authors = ["MXWXZ <matrixwxz@gmail.com>"]
description = "Actix Cloud is an all-in-one web framework based on Actix Web."
license = "MIT"
readme = "../README.md"
repository = "https://github.com/MXWXZ/actix-cloud"
keywords = ["http", "web", "framework", "async", "actix"]
categories = [
    "network-programming",
    "asynchronous",
    "web-programming::http-server",
    "web-programming::websocket",
]

[features]
default = [
    "utils",
    "rustls",
    "macros",
    "config-yaml",
    "logger",
    "i18n",
    "redis",
    "request",
    "traceid",
    "state",
    "session",
    "csrf",
    "security",
    "response-json",
    "seaorm",
]
all = [
    "utils",
    "rustls",
    "macros",
    "config-yaml",
    "config-json",
    "config-toml",
    "logger",
    "i18n",
    "redis",
    "request",
    "traceid",
    "state",
    "session",
    "csrf",
    "security",
    "response-json",
    "seaorm",
]

utils = ["dep:rand", "anyhow", "dep:hex"]
rustls = ["actix-web/rustls-0_23", "dep:rustls", "dep:rustls-pemfile"]
macros = ["dep:actix-cloud-codegen"]
config-json = ["config", "config/json"]
config-yaml = ["config", "config/yaml"]
config-toml = ["config", "config/toml"]
logger = [
    "dep:tracing",
    "dep:tracing-subscriber",
    "dep:colored",
    "serde_dep",
    "anyhow",
    "dep:futures",
    "tokio",
    "chrono",
]
i18n = ["actix-cloud-codegen/i18n"]
redis = ["dep:redis", "memorydb"]
request = ["actix-web", "dep:futures", "chrono"]
traceid = ["dep:tracing-actix-web"]
state = ["anyhow", "actix-web", "chrono", "dep:parking_lot"]
session = ["dep:actix-utils", "serde_dep", "memorydb", "actix-web", "dep:rand"]
csrf = [
    "dep:qstring",
    "dep:enum-as-inner",
    "actix-web",
    "dep:futures",
    "router",
]
security = ["actix-web"]
response-build = [
    "anyhow",
    "dep:thiserror",
    "dep:walkdir",
    "dep:yaml-rust2",
    "dep:quote",
    "dep:syn",
    "dep:prettyplease",
]
response-json = ["response", "serde_dep"]
seaorm = ["actix-cloud-codegen/seaorm"]
serde = []

response = ["actix-web", "dep:futures", "anyhow"]
router = ["actix-web", "anyhow", "async-trait", "dep:futures"]
memorydb = ["dep:glob", "async-trait", "dep:parking_lot", "chrono", "anyhow"]
config = ["dep:config"]
serde_dep = ["dep:serde", "dep:serde_json", "dep:serde_with"]
anyhow = ["dep:anyhow"]
async-trait = ["dep:async-trait"]
chrono = ["dep:chrono"]
tokio = ["dep:tokio"]
actix-web = ["dep:actix-web"]

[dependencies]
# utils
rand = { version = "0.8", optional = true }
anyhow = { version = "1.0", optional = true }
hex = { version = "0.4", optional = true }

# rustls
rustls = { version = "0.23", optional = true }
rustls-pemfile = { version = "2.2", optional = true }

# macros
actix-cloud-codegen = { version = "0.2", path = "../actix-cloud-codegen", optional = true }

# config
config = { version = "0.14", optional = true }

# logger
tracing = { version = "0.1", optional = true }
tracing-subscriber = { version = "0.3", features = [
    "json",
    "parking_lot",
], optional = true }
colored = { version = "2.1", optional = true }
futures = { version = "0.3", optional = true }

# tokio
tokio = { version = "1", features = ["full"], optional = true }

# actix-web
actix-web = { version = "4", features = ["secure-cookies"], optional = true }

# memorydb
glob = { version = "0.3", optional = true }
parking_lot = { version = "0.12", optional = true }

# chrono
chrono = { version = "0.4", features = ["serde"], optional = true }

# async-trait
async-trait = { version = "0.1", optional = true }

# serde
serde = { version = "1.0", features = ["derive"], optional = true }
serde_json = { version = "1.0", optional = true }
serde_with = { version = "3.11", optional = true }

# redis
redis = { version = "0.27", features = [
    "tokio-rustls-comp",
    "connection-manager",
], optional = true }

# session
actix-utils = { version = "3.0", optional = true }

# build
walkdir = { version = "2.5", optional = true }
yaml-rust2 = { version = "0.9", optional = true }
quote = { version = "1.0", optional = true }
syn = { version = "2.0", optional = true }
prettyplease = { version = "0.2", optional = true }

# traceid
tracing-actix-web = { version = "0.7", optional = true }

# csrf
qstring = { version = "0.7", optional = true }
enum-as-inner = { version = "0.6", optional = true }

# response-build 
thiserror = { version = "1.0", optional = true }

[dev-dependencies]
tokio = { version = "1", features = ["full"] }

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]