[package]
name = "afast"
readme = "../README.md"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
description.workspace = true
repository.workspace = true
keywords.workspace = true
categories.workspace = true

[features]
default = ["tag-u8", "binary"]
binary = []
ts = []
js = []
rs = []
ws = ["tokio-tungstenite", "futures-util"]
http = ["hyper", "hyper-util", "http-body-util"]
tcp = ["binary"]
code = ["http"]
doc = ["http", "js"]
kt = []
seq64 = []
len64 = []
tls = ["http", "dep:tokio-rustls", "dep:rustls", "dep:rustls-pemfile"]
ordinary-http = ["http", "dep:serde", "dep:serde_json"]
ordinary-ws = ["ws", "ordinary-http"]
ordinary-sse = ["ordinary-http", "futures-util"]
tag-u8 = ["afastdata/tag-u8"]
tag-u16 = ["afastdata/tag-u16"]
tag-u32 = ["afastdata/tag-u32"]
marker = []
hook = []
rate-limit = []

[dependencies]
afast-macros.workspace = true
afastdata.workspace = true
tokio.workspace = true
tokio-tungstenite = { workspace = true, optional = true }
futures-util = { workspace = true, optional = true }
hyper = { workspace = true, optional = true }
hyper-util = { workspace = true, optional = true }
http-body-util = { workspace = true, optional = true }
serde = { workspace = true, optional = true, features = ["derive"] }
serde_json = { workspace = true, optional = true }
tokio-rustls = { workspace = true, optional = true }
rustls = { workspace = true, optional = true }
rustls-pemfile = { workspace = true, optional = true }
