[package]
name = "engineioxide"
description = "Engine IO server implementation in rust as a Tower Service."
version.workspace = true
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
repository.workspace = true
homepage.workspace = true
keywords.workspace = true
categories.workspace = true
license.workspace = true
readme = "Readme.md"
[package.metadata.docs.rs]
features = ["v3"]
rustdoc-args = ["--cfg", "docsrs"]
[dependencies]
bytes.workspace = true
futures-core.workspace = true
futures-util.workspace = true
http.workspace = true
http-body.workspace = true
serde.workspace = true
serde_json.workspace = true
thiserror.workspace = true
tokio = { workspace = true, features = ["rt", "time"] }
tower-service.workspace = true
tower-layer.workspace = true
hyper.workspace = true
tokio-tungstenite.workspace = true
http-body-util.workspace = true
pin-project-lite.workspace = true
smallvec.workspace = true
hyper-util = { workspace = true, features = ["tokio"] }
base64 = "0.22"
rand = "0.8"
tracing = { workspace = true, optional = true }
itoa = { workspace = true, optional = true }
memchr = { version = "2.7", optional = true }
unicode-segmentation = { version = "1.12", optional = true }
[dev-dependencies]
tokio = { workspace = true, features = ["macros", "parking_lot"] }
tracing-subscriber.workspace = true
hyper = { workspace = true, features = ["server", "http1"] }
criterion.workspace = true
axum.workspace = true
hyper-util = { workspace = true, features = ["tokio", "client-legacy"] }
[features]
v3 = ["memchr", "unicode-segmentation", "itoa"]
tracing = ["dep:tracing"]
__test_harness = []
[[bench]]
name = "packet_encode"
path = "benches/packet_encode.rs"
harness = false
[[bench]]
name = "packet_decode"
path = "benches/packet_decode.rs"
harness = false