[package]
edition = "2024"
rust-version = "1.89"
name = "wtx"
version = "0.42.2"
authors = ["Caio Fernandes <c410.f3r@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A collection of different transport implementations and related tools focused primarily on web technologies."
homepage = "https://c410-f3r.github.io/wtx"
documentation = "https://docs.rs/wtx"
readme = "README.md"
keywords = [
"api",
"database",
"http",
"tls",
"websocket",
]
categories = [
"asynchronous",
"database",
"network-programming",
"no-std",
"web-programming",
]
license = "MPL-2.0"
repository = "https://github.com/c410-f3r/wtx"
[package.metadata.docs.rs]
all-features = true
[features]
32-tuple-impls = []
_async-tests = [
"tokio/macros",
"tokio/net",
"tokio/rt-multi-thread",
"tokio/time",
]
_bench = []
_hack = [
"embassy-net?/medium-ip",
"embassy-net?/proto-ipv4",
]
_integration-tests = ["serde_json?/raw_value"]
_tracing-tree = [
"tracing",
"tracing-subscriber",
"tracing-tree",
]
arbitrary = [
"dep:arbitrary",
"std",
]
async-net = [
"dep:async-io",
"dep:async-net",
"futures-lite",
"std",
]
borsh = [
"borsh/std",
"std",
]
client-api-framework = []
crossbeam-channel = [
"crossbeam-channel/std",
"std",
]
database = []
default = []
executor = ["std"]
foldhash = [
"dep:foldhash",
"hashbrown?/default-hasher",
]
grpc = []
grpc-client = [
"grpc",
"http-client-pool",
]
grpc-server = [
"grpc",
"http-server-framework",
]
http = []
http-client-pool = [
"http2",
"std",
]
http-cookie = ["http"]
http-cookie-secure = [
"aes-gcm",
"base64",
"digest",
"http-cookie",
]
http-server-framework = ["http2"]
http-session = [
"http-cookie-secure",
"serde_json",
]
http2 = [
"foldhash",
"hashbrown",
"http",
]
loom = [
"dep:loom",
"std",
]
macros = ["dep:wtx-macros"]
mysql = [
"database",
"digest",
"foldhash",
"hashbrown",
"rand-compat",
"rsa/encoding",
"spki",
"sha1",
"sha2",
]
nightly = []
optimization = [
"memchr",
"simdutf8",
]
portable-atomic-util = [
"portable-atomic",
"dep:portable-atomic-util",
]
postgres = [
"base64",
"crypto-common",
"database",
"digest",
"foldhash",
"hashbrown",
"hmac",
"sha2",
]
quick-protobuf = [
"quick-protobuf/std",
"std",
]
rand-compat = ["rand_core"]
rustls = [
"dep:rustls",
"rustls-pki-types",
]
schema-manager = ["database"]
schema-manager-dev = ["schema-manager"]
secret = [
"aes-gcm",
"libc",
"sha2",
"std",
]
serde_json = [
"serde",
"serde_json/std",
"std",
]
std = ["wtx-macros?/std"]
tokio = [
"std",
"dep:tokio",
]
tokio-rustls = [
"ring",
"rustls",
"rustls-pemfile/std",
"rustls-pki-types",
"tokio",
"dep:tokio-rustls",
"tokio-rustls/ring",
]
tracing-tree = [
"std",
"dep:tracing-tree",
]
web-socket = ["http"]
web-socket-handshake = [
"base64",
"httparse",
"sha1",
"web-socket",
]
[lib]
name = "wtx"
path = "src/lib.rs"
[[test]]
name = "embed-migrations"
path = "tests/embed-migrations.rs"
[dependencies.aes-gcm]
version = "0.11.0-rc.2"
features = ["aes"]
optional = true
default-features = false
[dependencies.arbitrary]
version = "1.0"
features = ["derive_arbitrary"]
optional = true
default-features = false
[dependencies.argon2]
version = "0.6.0-rc.6"
optional = true
default-features = false
[dependencies.async-io]
version = "2.0"
optional = true
default-features = false
[dependencies.async-net]
version = "2.0"
optional = true
default-features = false
[dependencies.base64]
version = "0.22"
features = ["alloc"]
optional = true
default-features = false
[dependencies.borsh]
version = "1.0"
features = ["derive"]
optional = true
default-features = false
[dependencies.chacha20]
version = "0.10.0-rc.10"
features = [
"cipher",
"rng",
]
optional = true
default-features = false
[dependencies.crossbeam-channel]
version = "0.5"
optional = true
default-features = false
[dependencies.crypto-common]
version = "0.2.0-rc.14"
optional = true
default-features = false
[dependencies.digest]
version = "0.11.0-rc.10"
features = ["mac"]
optional = true
default-features = false
[dependencies.embassy-net]
version = "0.5"
features = ["tcp"]
optional = true
default-features = false
[dependencies.embassy-time]
version = "0.3"
optional = true
default-features = false
[dependencies.fastrand]
version = "2.0"
optional = true
default-features = false
[dependencies.flate2]
version = "1.0"
features = ["zlib-rs"]
optional = true
default-features = false
[dependencies.foldhash]
version = "0.2"
optional = true
default-features = false
[dependencies.futures-lite]
version = "2.0"
optional = true
default-features = false
[dependencies.getrandom]
version = "0.4.0-rc.1"
optional = true
default-features = false
[dependencies.hashbrown]
version = "0.16"
features = [
"default-hasher",
"inline-more",
]
optional = true
default-features = false
[dependencies.hmac]
version = "0.13.0-rc.4"
optional = true
default-features = false
[dependencies.httparse]
version = "1.0"
optional = true
default-features = false
[dependencies.libc]
version = "0.2"
optional = true
default-features = false
[dependencies.loom]
version = "0.7"
features = [
"checkpoint",
"futures",
]
optional = true
default-features = false
[dependencies.matchit]
version = "0.8"
optional = true
default-features = false
[dependencies.memchr]
version = "2.0"
optional = true
default-features = false
[dependencies.parking_lot]
version = "0.12"
optional = true
default-features = false
[dependencies.portable-atomic]
version = "1.0"
features = ["fallback"]
optional = true
default-features = false
[dependencies.portable-atomic-util]
version = "0.2"
features = ["alloc"]
optional = true
default-features = false
[dependencies.quick-protobuf]
version = "0.8"
optional = true
default-features = false
[dependencies.rand_core]
version = "0.10"
optional = true
default-features = false
[dependencies.ring]
version = "0.17"
optional = true
default-features = false
[dependencies.rsa]
version = "0.10.0-rc.14"
optional = true
default-features = false
[dependencies.rust_decimal]
version = "1.0"
features = ["maths"]
optional = true
default-features = false
[dependencies.rustls]
version = "0.23"
optional = true
default-features = false
[dependencies.rustls-pemfile]
version = "2.0"
optional = true
default-features = false
[dependencies.rustls-pki-types]
version = "1.0"
optional = true
default-features = false
[dependencies.serde]
version = "1.0"
features = [
"alloc",
"derive",
]
optional = true
default-features = false
[dependencies.serde_json]
version = "1.0"
features = ["alloc"]
optional = true
default-features = false
[dependencies.sha1]
version = "0.11.0-rc.4"
optional = true
default-features = false
[dependencies.sha2]
version = "0.11.0-rc.4"
optional = true
default-features = false
[dependencies.simdutf8]
version = "0.1"
features = ["aarch64_neon"]
optional = true
default-features = false
[dependencies.spki]
version = "0.8.0-rc.4"
optional = true
default-features = false
[dependencies.tokio]
version = "1.0"
features = [
"io-util",
"net",
"rt",
"sync",
"time",
]
optional = true
default-features = false
[dependencies.tokio-rustls]
version = "0.26"
features = [
"ring",
"tls12",
]
optional = true
default-features = false
[dependencies.tracing]
version = "0.1"
features = ["attributes"]
optional = true
default-features = false
[dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"fmt",
]
optional = true
default-features = false
[dependencies.tracing-tree]
version = "0.4"
optional = true
default-features = false
[dependencies.uuid]
version = "1.0"
optional = true
default-features = false
[dependencies.webpki-roots]
version = "1.0"
optional = true
default-features = false
[dependencies.wtx-macros]
version = "0.6.3"
optional = true
default-features = false
[dev-dependencies.tokio]
version = "1.0"
features = [
"rt-multi-thread",
"sync",
]
default-features = false
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
"cfg(loom)",
"cfg(kani)",
]