[package]
name = "cf-api-gateway"
version = "0.2.2"
edition.workspace = true
license.workspace = true
authors.workspace = true
rust-version.workspace = true
description = "API Gateway module"
repository.workspace = true
readme = "README.md"
keywords = ["cyberfabric", "cyberfabric-system"]
categories = ["web-programming"]

[lib]
name = "api_gateway"

[lints]
workspace = true

[dependencies]
modkit = { workspace = true }
modkit-http = { workspace = true }
modkit-security = { workspace = true }
authn-resolver-sdk = { package = "cf-authn-resolver-sdk", version = "0.3.11", path = "../authn-resolver/authn-resolver-sdk" }
modkit-macros = { workspace = true }
inventory = { workspace = true }
anyhow = { workspace = true }
async-trait = { workspace = true }
tokio = { workspace = true }
tokio-util = { workspace = true }
tracing = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
parking_lot = { workspace = true }
thiserror = { workspace = true }

dashmap = { workspace = true }
arc-swap = { workspace = true }
nanoid = { workspace = true }

axum = { workspace = true }
tower = { workspace = true }
tower-http = { workspace = true }
matchit = { workspace = true }
governor = { workspace = true }
glob = { workspace = true }

opentelemetry = { workspace = true }
chrono = { workspace = true }
uuid = { workspace = true }

utoipa = { workspace = true }
http = { workspace = true }
http-body = { workspace = true }
bytes = { workspace = true }
rust-embed = { workspace = true }

[dev-dependencies]
futures-core = { workspace = true }
opentelemetry_sdk = { workspace = true, features = ["testing"] }
tracing-subscriber = { workspace = true }

[features]
grpc = []
debug-errors = []
embed_elements = []
otel = []

[build-dependencies]
ureq = { workspace = true }
