[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" # docs.rs-specific configuration [package.metadata.docs.rs] features = ["v3"] # Special configuration for docs.rs build 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 tracing = { workspace = true, optional = true } # Engine.io V3 payload 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