socketioxide 0.18.1

Socket IO server implementation in rust as a Tower Service.
Documentation
[package]
name = "socketioxide"
description = "Socket IO server implementation in rust as a Tower Service."
version = "0.18.1"
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.17" }
socketioxide-core = { path = "../socketioxide-core", version = "0.17" }

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

# Parsers
socketioxide-parser-common = { path = "../parser-common", version = "0.17" }
socketioxide-parser-msgpack = { path = "../parser-msgpack", version = "0.17", 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
http-body-util.workspace = true
tokio-stream.workspace = true
tokio-util.workspace = true
rand = { version = "0.9", 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