[package]
name = "arcly-http"
version = "0.6.1"
edition = "2021"
rust-version = "1.85"
description = "Enterprise-grade NestJS-inspired web framework on axum: zero-lock DI, declarative controllers, multi-tenant data routing, transactional outbox, ABAC, and a self-documenting OpenAPI surface. Facade crate — enable subsystems via features."
license = "MIT"
repository = "https://gitlab.com/arcly/arcly-http/arcly-http"
documentation = "https://docs.rs/arcly-http"
readme = "../README.md"
keywords = ["web", "framework", "nestjs", "axum", "enterprise"]
categories = ["web-programming", "web-programming::http-server"]
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[dependencies]
arcly-http-core = { path = "../arcly-http-core", version = "0.6.1" }
arcly-http-macros = { path = "../arcly-http-macros", version = "0.6.1" }
arcly-http-compliance = { path = "../arcly-http-compliance", version = "0.6.1", optional = true }
arcly-http-data = { path = "../arcly-http-data", version = "0.6.1", optional = true }
arcly-http-realtime = { path = "../arcly-http-realtime", version = "0.6.1", optional = true }
arcly-http-messaging = { path = "../arcly-http-messaging", version = "0.6.1", optional = true }
axum = { version = "0.8", features = ["matched-path", "ws"] }
tokio = { version = "1.38", features = ["rt-multi-thread", "macros", "net", "signal", "sync", "time"] }
futures = "0.3"
serde_json = "1.0"
schemars = "0.8"
validator = { version = "0.18", features = ["derive"] }
inventory = "0.3"
bytes = "1.6"
http = "1.1"
tracing = "0.1"
[features]
default = []
compliance = ["dep:arcly-http-compliance"]
realtime = ["dep:arcly-http-realtime"]
messaging = ["dep:arcly-http-messaging"]
data = ["dep:arcly-http-data"]
db-sqlx = ["data", "arcly-http-data/db-sqlx"]
db-seaorm = ["data", "arcly-http-data/db-seaorm"]
db-diesel = ["data", "arcly-http-data/db-diesel"]
db-sqlx-postgres = ["db-sqlx", "arcly-http-data/db-sqlx-postgres"]
db-sqlx-mysql = ["db-sqlx", "arcly-http-data/db-sqlx-mysql"]
db-sqlx-sqlite = ["db-sqlx", "arcly-http-data/db-sqlx-sqlite"]
db-seaorm-postgres = ["db-seaorm", "arcly-http-data/db-seaorm-postgres"]
db-seaorm-sqlite = ["db-seaorm", "arcly-http-data/db-seaorm-sqlite"]
db-diesel-postgres = ["db-diesel", "arcly-http-data/db-diesel-postgres"]
db-diesel-sqlite = ["db-diesel", "arcly-http-data/db-diesel-sqlite"]
full = ["compliance", "realtime", "messaging", "data"]
[dev-dependencies]
reqwest = { version = "0.12", default-features = false, features = ["json"] }