[package]
edition = "2021"
name = "hrpc"
version = "0.33.29"
authors = ["Yusuf Bera Ertan <y.bera003.06@protonmail.com>"]
include = [
"/src",
"/build.rs",
"/Cargo.toml",
"/hrpc-main/protocol",
"/README.md",
]
description = "Common code for hRPC."
homepage = "https://github.com/harmony-development/hrpc-rs"
keywords = [
"hrpc",
"harmony",
"rpc",
"protobuf",
]
categories = ["network-programming"]
license = "MIT"
repository = "https://github.com/harmony-development/hrpc-rs"
resolver = "2"
[package.metadata.docs.rs]
all-features = true
[package.metadata.nix]
build = true
library = true
[dependencies.axum-server]
version = "0.4"
features = ["tls-rustls"]
optional = true
default-features = false
[dependencies.base64]
version = "0.13"
optional = true
default-features = false
[dependencies.bytes]
version = "1.0"
[dependencies.futures-channel]
version = "0.3"
optional = true
default-features = false
[dependencies.futures-util]
version = "0.3"
features = ["std"]
default-features = false
[dependencies.gloo-timers]
version = "0.2"
features = ["futures"]
optional = true
default-features = false
[dependencies.hrpc-proc-macro]
version = "0.33.0"
optional = true
[dependencies.http]
version = "0.2"
optional = true
[dependencies.http-body]
version = "0.4"
optional = true
[dependencies.hyper]
version = "0.14"
features = [
"http1",
"http2",
"runtime",
"stream",
]
optional = true
default-features = false
[dependencies.hyper-rustls]
version = "0.23"
features = [
"native-tokio",
"tls12",
"http1",
"http2",
]
optional = true
default-features = false
[dependencies.js-sys]
version = "0.3"
optional = true
default-features = false
[dependencies.matchit]
version = "0.5"
optional = true
default-features = false
[dependencies.pin-project-lite]
version = "0.2"
optional = true
default-features = false
[dependencies.prost]
version = "0.10"
[dependencies.reqwasm]
version = "0.5"
features = ["http"]
optional = true
default-features = false
[dependencies.sha-1]
version = "0.10"
optional = true
default-features = false
[dependencies.tokio]
version = "1"
optional = true
default-features = false
[dependencies.tokio-tungstenite]
version = "0.17"
features = [
"rustls-tls-native-roots",
"connect",
]
optional = true
default-features = false
[dependencies.tower]
version = "0.4"
features = ["util"]
optional = true
default-features = false
[dependencies.tracing]
version = "0.1"
features = ["std"]
default-features = false
[dependencies.wasm-bindgen]
version = "0.2"
optional = true
default-features = false
[dependencies.wasm-streams]
version = "0.2"
optional = true
default-features = false
[dependencies.ws_stream_wasm]
version = "0.7"
optional = true
default-features = false
[build-dependencies.prost-build]
version = "0.10"
[features]
_common = [
"futures-util/unstable",
"futures-util/bilock",
"futures-util/sink",
"futures-util/async-await-macro",
"tower",
"pin-project-lite",
]
_common_http = [
"http",
"http-body",
]
_common_http_client = [
"client",
"_common_http",
]
_common_mock = [
"tokio",
"tokio/rt",
"tokio/sync",
"futures-channel",
"futures-channel/sink",
"futures-channel/std",
"client",
]
client = ["_common"]
default = []
http_hyper_client = [
"_common_http_client",
"websocket_tokio_tungstenite",
"hyper",
"hyper-rustls",
"hyper/client",
]
http_server = [
"server",
"_common_http",
"websocket_tokio_tungstenite",
"tokio/rt",
"hyper",
"axum-server",
"sha-1",
"base64",
]
http_wasm_client = [
"_common_http_client",
"reqwasm",
"js-sys",
"wasm-bindgen",
"websocket_wasm",
"wasm-streams",
"gloo-timers",
]
mock_client = [
"client",
"_common_mock",
]
mock_server = [
"server",
"_common_mock",
]
server = [
"_common",
"matchit",
"hrpc-proc-macro",
]
websocket_tokio_tungstenite = [
"tokio-tungstenite",
"tokio",
]
websocket_wasm = ["ws_stream_wasm"]