[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]
rand = { version = "0.8", optional = true }
anyhow = { version = "1.0", optional = true }
hex = { version = "0.4", optional = true }
rustls = { version = "0.23", optional = true }
rustls-pemfile = { version = "2.2", optional = true }
actix-cloud-codegen = { version = "0.2", path = "../actix-cloud-codegen", optional = true }
config = { version = "0.14", optional = true }
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 = { version = "1", features = ["full"], optional = true }
actix-web = { version = "4", features = ["secure-cookies"], optional = true }
glob = { version = "0.3", optional = true }
parking_lot = { version = "0.12", optional = true }
chrono = { version = "0.4", features = ["serde"], optional = true }
async-trait = { version = "0.1", optional = true }
serde = { version = "1.0", features = ["derive"], optional = true }
serde_json = { version = "1.0", optional = true }
serde_with = { version = "3.11", optional = true }
redis = { version = "0.27", features = [
"tokio-rustls-comp",
"connection-manager",
], optional = true }
actix-utils = { version = "3.0", optional = true }
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 }
tracing-actix-web = { version = "0.7", optional = true }
qstring = { version = "0.7", optional = true }
enum-as-inner = { version = "0.6", optional = true }
thiserror = { version = "1.0", optional = true }
[dev-dependencies]
tokio = { version = "1", features = ["full"] }
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]