[package]
name = "wsocket"
description = "Lighweight, fast and native WebSocket implementation for Rust."
license = "Apache-2.0 OR MIT"
keywords = ["websocket", "tokio", "async", "http"]
repository = "https://codeberg.org/m4rc3l/wsocket.git"
homepage = "https://codeberg.org/m4rc3l/wsocket#readme"
version = "0.3.2"
edition = "2021"
[features]
client = ["dep:rand"]
handshake = ["client", "dep:hyper", "dep:base64", "dep:http-body-util", "dep:hyper-util", "hyper/client", "hyper/http1"]
upgrade = ["dep:hyper", "dep:base64", "dep:http-body-util", "dep:hyper-util", "dep:pin-project-lite", "dep:sha1"]
[dependencies]
rand = { version = "0.10", default-features = false, features = ["std", "std_rng", "thread_rng"], optional = true }
tokio = { version = "1.52", default-features = false, features = ["io-util", "sync", "macros"] }
hyper-util = { version = "0.1", default-features = false, optional = true, features = ["tokio"] }
base64 = { version = "0.22", default-features = false, optional = true, features = ["alloc"] }
pin-project-lite = { version = "0.2", default-features = false, optional = true }
http-body-util = { version = "0.1", default-features = false, optional = true }
sha1 = { version = "0.11", default-features = false, optional = true }
hyper = { version = "1.9", default-features = false, optional = true }
thiserror = { version = "2.0", default-features = false }
tracing = { version = "0.1", default-features = false }
[dev-dependencies]
tokio = { version = "1.52", default-features = false, features = ["rt-multi-thread"] }
[package.metadata.docs.rs]
all-features = true