[package] name = "socketioxide" description = "Socket 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.workspace = true [dependencies] engineioxide = { path = "../engineioxide", version = "0.15.1" } socketioxide-core = { path = "../socketioxide-core", version = "0.15.1" } bytes.workspace = true futures-core.workspace = true futures-util.workspace = true tokio = { workspace = true, features = ["rt", "time"] } serde.workspace = true tower-service.workspace = true tower-layer.workspace = true http.workspace = true http-body.workspace = true thiserror.workspace = true hyper.workspace = true matchit.workspace = true pin-project-lite.workspace = true rustversion = "1.0.18" # Parsers socketioxide-parser-common = { path = "../parser-common", version = "0.15.1" } socketioxide-parser-msgpack = { path = "../parser-msgpack", version = "0.15.1", optional = true } # Tracing tracing = { workspace = true, optional = true } # State state = { version = "0.6.0", optional = true } [features] v4 = ["engineioxide/v3"] msgpack = ["dep:socketioxide-parser-msgpack"] tracing = ["dep:tracing", "engineioxide/tracing"] extensions = [] state = ["dep:state"] __test_harness = ["engineioxide/__test_harness"] [dev-dependencies] engineioxide = { path = "../engineioxide", features = ["v3", "tracing"] } tokio-tungstenite.workspace = true axum.workspace = true serde_json.workspace = true tokio = { workspace = true, features = [ "macros", "parking_lot", "rt-multi-thread", ] } tracing-subscriber.workspace = true criterion.workspace = true hyper = { workspace = true, features = ["server", "http1"] } hyper-util = { workspace = true, features = ["tokio", "client-legacy"] } http-body-util.workspace = true rand = { version = "0.8", default-features = false } # docs.rs-specific configuration [package.metadata.docs.rs] features = ["v4", "extensions", "tracing", "state", "msgpack"] # Special configuration for docs.rs build rustdoc-args = ["--cfg", "docsrs"] [[bench]] name = "extensions" path = "benches/extensions.rs" harness = false