Skip to content

Commit 7e63cfe

Browse files
committed
Add WebSocket support
Signed-off-by: Yuki Kishimoto <yukikishimoto@protonmail.com>
1 parent 2bdb11e commit 7e63cfe

9 files changed

Lines changed: 468 additions & 21 deletions

File tree

Cargo.lock

Lines changed: 168 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,23 +12,33 @@ keywords = ["bitcoin", "mempool"]
1212

1313
[features]
1414
# Default features
15-
default = ["rustls"]
15+
default = ["rustls", "ws"]
1616
# Enable rust TLS
1717
rustls = ["reqwest/rustls-tls"]
1818
# Enable natile TLS (openssl)
1919
nativetls = ["reqwest/native-tls"]
2020
# Enable socks proxy
2121
socks = ["reqwest/socks"]
22+
# Enable WebSocket client
23+
ws = ["dep:futures-util", "dep:serde_json", "dep:tokio", "dep:tokio-tungstenite", "dep:tracing"]
2224

2325
[dependencies]
2426
bitcoin = { version = "0.32", default-features = false, features = ["std", "serde"] }
2527
reqwest = { version = "0.12", default-features = false, features = ["json"] }
2628
serde = { version = "1.0", features = ["derive"] }
2729
url = "2.5"
2830

31+
# WebSocket
32+
futures-util = { version = "0.3", optional = true }
33+
serde_json = { version = "1.0", optional = true }
34+
tokio = { version = "1", features = ["sync", "time"], optional = true }
35+
tokio-tungstenite = { version = "0.27", features = ["rustls-tls-webpki-roots"], optional = true }
36+
tracing = { version = "0.1", optional = true }
37+
2938
[dev-dependencies]
3039
serde_json = "1.0"
3140
tokio = { version = "1.46", features = ["macros", "rt-multi-thread"] }
3241

3342
[[example]]
3443
name = "mempool"
44+
required-features = ["ws"]

0 commit comments

Comments
 (0)