[package]
edition = "2024"
rust-version = "1.96"
name = "wtx"
version = "0.51.0"
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 = []
_bench = []
_hack = [
"aws-lc-rs?/aws-lc-sys",
"embassy-net?/medium-ip",
"embassy-net?/proto-ipv4",
"embassy-time?/generic-queue-64",
"embassy-time?/std",
]
_integration-tests = [
"ccadb",
"serde_json?/raw_value",
]
_tracing-tree = [
"tracing",
"tracing-subscriber",
"tracing-tree",
]
arbitrary = [
"dep:arbitrary",
"arbitrary?/derive_arbitrary",
"std",
]
argon2 = ["dep:argon2"]
asn1 = []
ccadb = ["x509"]
client-api-framework = []
crossbeam-channel = [
"dep:crossbeam-channel",
"crossbeam-channel?/std",
"std",
]
crypto = []
crypto-alr = [
"dep:aws-lc-rs",
"crypto",
]
crypto-graviola = [
"crypto",
"dep:graviola",
"std",
]
crypto-ring = [
"crypto",
"dep:ring",
"ring?/alloc",
]
crypto-ruco = [
"dep:aead",
"dep:aes-gcm",
"aes-gcm/aes",
"dep:chacha20",
"chacha20/cipher",
"chacha20/rng",
"dep:chacha20poly1305",
"crypto",
"dep:crypto-common",
"dep:digest",
"digest/mac",
"dep:ed25519-dalek",
"ed25519-dalek?/digest",
"ed25519-dalek?/pkcs8",
"dep:elliptic-curve",
"dep:hkdf",
"dep:hmac",
"dep:p256",
"p256?/arithmetic",
"p256?/ecdh",
"p256?/ecdsa",
"p256?/pkcs8",
"dep:p384",
"p384?/arithmetic",
"p384?/ecdh",
"p384?/ecdsa",
"p384?/pkcs8",
"dep:pkcs1",
"dep:pkcs8",
"rand_core",
"dep:rsa",
"rsa/encoding",
"dep:sha1",
"dep:sha2",
"sha2/oid",
"dep:signature",
"dep:spki",
"dep:x25519-dalek",
]
database = []
database-tests = [
"getrandom",
"macros",
"postgres",
"schema-manager-dev",
]
default = []
embassy-net = [
"dep:embassy-net",
"embassy-net?/proto-ipv4",
"embassy-net?/proto-ipv6",
"embassy-net?/tcp",
"embassy-net?/udp",
]
embassy-time = [
"dep:embassy-time",
"epoch-sync",
]
epoch-sync = ["pin-project-lite"]
error-loc = []
executor = ["std"]
foldhash = [
"dep:foldhash",
"hashbrown?/default-hasher",
]
getrandom = ["dep:getrandom"]
grpc = []
grpc-client = [
"grpc",
"http2-client-pool",
]
grpc-server = [
"grpc",
"http2-server-framework",
]
hashbrown = [
"dep:hashbrown",
"hashbrown?/default-hasher",
"hashbrown?/inline-more",
]
http = []
http-cookie = ["http"]
http-cookie-secure = [
"crypto",
"http-cookie",
]
http-session = [
"http-cookie-secure",
"secret",
"serde_json",
]
http2 = [
"foldhash",
"hashbrown",
"http",
"tls",
]
http2-client-pool = [
"http2",
"nightly",
"std",
]
http2-server-framework = [
"http2",
"nightly",
]
httparse = ["dep:httparse"]
libc = ["dep:libc"]
macros = ["dep:wtx-macros"]
memchr = ["dep:memchr"]
nightly = []
optimizations = [
"memchr",
"simdutf8",
]
optimizations-std = [
"optimizations",
"socket2",
"std",
]
parking_lot = ["dep:parking_lot"]
pin-project-lite = ["dep:pin-project-lite"]
portable-atomic = [
"dep:portable-atomic",
"portable-atomic?/fallback",
]
portable-atomic-util = [
"portable-atomic",
"dep:portable-atomic-util",
"portable-atomic-util/alloc",
]
postgres = [
"crypto",
"database",
"foldhash",
"hashbrown",
"tls",
]
postgres-pool = [
"postgres",
"secret",
]
quick-protobuf = [
"dep:quick-protobuf",
"quick-protobuf?/std",
"std",
]
rand_core = ["dep:rand_core"]
rust_decimal = [
"dep:rust_decimal",
"rust_decimal?/maths",
]
schema-manager = ["database"]
schema-manager-dev = ["schema-manager"]
secret = [
"blake3",
"crypto",
]
serde = [
"hashbrown?/serde",
"dep:serde",
"serde?/alloc",
"serde?/derive",
]
serde_json = [
"serde",
"dep:serde_json",
"serde_json?/alloc",
"serde_json?/std",
"std",
]
sha3 = ["dep:sha3"]
simdutf8 = ["dep:simdutf8"]
socket2 = [
"dep:socket2",
"socket2?/all",
"std",
]
std = [
"foldhash?/std",
"httparse?/std",
"memchr?/std",
"ring?/std",
"simdutf8?/std",
"wtx-macros?/std",
"zlib-rs?/std",
]
tls = [
"secret",
"x509",
]
tokio = [
"pin-project-lite",
"dep:tokio",
"tokio?/io-util",
"tokio?/net",
"tokio?/rt",
"std",
"tokio?/sync",
"tokio?/time",
]
tracing = [
"dep:tracing",
"tracing?/attributes",
]
tracing-subscriber = [
"std",
"dep:tracing-subscriber",
"tracing-subscriber?/env-filter",
]
tracing-tree = [
"std",
"dep:tracing-tree",
]
uuid = ["dep:uuid"]
web-socket = [
"crypto",
"http",
"httparse",
"tls",
]
web-socket-server-framework = [
"nightly",
"web-socket",
]
wtx-macros = ["dep:wtx-macros"]
x509 = [
"asn1",
"crypto",
"hashbrown",
]
zlib-rs = [
"dep:zlib-rs",
"zlib-rs?/rust-allocator",
]
[lib]
name = "wtx"
path = "src/lib.rs"
[[test]]
name = "embed-migrations"
path = "tests/embed-migrations.rs"
[dependencies.aead]
version = "0.6"
optional = true
default-features = false
[dependencies.aes-gcm]
version = "0.11"
optional = true
default-features = false
[dependencies.arbitrary]
version = "1.0"
optional = true
default-features = false
[dependencies.argon2]
version = "0.6.0-rc.8"
optional = true
default-features = false
[dependencies.aws-lc-rs]
version = "1.0"
optional = true
default-features = false
[dependencies.blake3]
version = "1.0"
optional = true
default-features = false
[dependencies.chacha20]
version = "0.10"
optional = true
default-features = false
[dependencies.chacha20poly1305]
version = "0.11"
optional = true
default-features = false
[dependencies.crossbeam-channel]
version = "0.5"
optional = true
default-features = false
[dependencies.crypto-common]
version = "0.2"
optional = true
default-features = false
[dependencies.digest]
version = "0.11"
optional = true
default-features = false
[dependencies.ed25519-dalek]
version = "3.0"
optional = true
default-features = false
[dependencies.elliptic-curve]
version = "0.14"
optional = true
default-features = false
[dependencies.embassy-net]
version = "0.9"
optional = true
default-features = false
[dependencies.embassy-time]
version = "0.5"
optional = true
default-features = false
[dependencies.foldhash]
version = "0.2"
optional = true
default-features = false
[dependencies.getrandom]
version = "0.4"
optional = true
default-features = false
[dependencies.graviola]
version = "0.4"
optional = true
default-features = false
[dependencies.hashbrown]
version = "0.17"
optional = true
default-features = false
[dependencies.hkdf]
version = "0.13"
optional = true
default-features = false
[dependencies.hmac]
version = "0.13"
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.memchr]
version = "2.0"
optional = true
default-features = false
[dependencies.p256]
version = "0.14"
optional = true
default-features = false
[dependencies.p384]
version = "0.14"
optional = true
default-features = false
[dependencies.parking_lot]
version = "0.12"
optional = true
default-features = false
[dependencies.pin-project-lite]
version = "0.2"
optional = true
default-features = false
[dependencies.pkcs1]
version = "0.8.0-rc.4"
optional = true
default-features = false
[dependencies.pkcs8]
version = "0.11"
optional = true
default-features = false
[dependencies.portable-atomic]
version = "1.0"
optional = true
default-features = false
[dependencies.portable-atomic-util]
version = "0.2"
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.18"
optional = true
default-features = false
[dependencies.rust_decimal]
version = "1.0"
optional = true
default-features = false
[dependencies.serde]
version = "1.0"
optional = true
default-features = false
[dependencies.serde_json]
version = "1.0"
optional = true
default-features = false
[dependencies.sha1]
version = "0.11"
optional = true
default-features = false
[dependencies.sha2]
version = "0.11"
optional = true
default-features = false
[dependencies.sha3]
version = "0.12"
optional = true
default-features = false
[dependencies.signature]
version = "3.0"
optional = true
default-features = false
[dependencies.simdutf8]
version = "0.1"
optional = true
default-features = false
[dependencies.socket2]
version = "0.6"
optional = true
default-features = false
[dependencies.spki]
version = "0.8"
optional = true
default-features = false
[dependencies.tokio]
version = "1.0"
optional = true
default-features = false
[dependencies.tracing]
version = "0.1"
optional = true
default-features = false
[dependencies.tracing-subscriber]
version = "0.3"
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.wtx-macros]
version = "0.11.0"
optional = true
default-features = false
[dependencies.x25519-dalek]
version = "3.0"
optional = true
default-features = false
[dependencies.zlib-rs]
version = "0.6"
optional = true
default-features = false
[dev-dependencies]
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(kani)"]