[package]
name = "afast"
version = "0.0.8"
edition = "2024"
authors = ["ahriknow <ahriknow@ahriknow.com>"]
description = "AFast: high-performance async Rust web framework with HTTP, WS, TCP support, automatic client generation, validation, and documentation."
license = "MIT OR Apache-2.0"
repository = "https://github.com/ahriroot/afast"
homepage = "https://github.com/ahriroot/afast"
documentation = "https://docs.rs/afast"
readme = "README.md"
keywords = ["framework", "async", "web", "tcp", "codegen"]
categories = ["asynchronous", "network-programming", "web-programming"]
rust-version = "1.90"

[dependencies]
afast-macros = { version = "0.0.8"}
# afast-macros = { path = "../afast-macros" }
backtrace = { version = "0.3", optional = true }
tokio = { version = "1.48", features = ["full"] }
axum = { version = "0.8", optional = true }
http-body-util = { version = "0.1", features = ["full"], optional = true }
tower-http = { version = "0.6", features = ["cors"], optional = true }
include_dir = { version = "0.7", optional = true }
mime_guess = { version = "2.0", optional = true }

[features]
default = ["http"]
http = ["axum", "http-body-util", "tower-http"]
ws = ["axum", "axum/ws", "tower-http"]
tcp = []
code = ["afast-macros/code"]
js = ["afast-macros/js", "code"]
ts = ["afast-macros/ts", "code"]
doc = ["afast-macros/doc", "code", "tower-http/fs", "include_dir", "mime_guess"]
trace = ["backtrace"]
