rpc server with HTTP/WS on the same socket (#12663)

* jsonrpsee v0.16

add backwards compatibility

run old http server on http only

* cargo fmt

* update jsonrpsee 0.16.1

* less verbose cors log

* fix nit in log: WS -> HTTP

* revert needless changes in Cargo.lock

* remove unused features in tower

* fix nits; add client-core feature

* jsonrpsee v0.16.2
This commit is contained in:
Niklas Adolfsson
2022-12-12 11:32:55 +01:00
committed by GitHub
parent 84a383f035
commit 84303ca75d
33 changed files with 364 additions and 326 deletions
+96 -79
View File
@@ -288,7 +288,7 @@ dependencies = [
"futures-sink",
"futures-util",
"memchr",
"pin-project-lite 0.2.6",
"pin-project-lite 0.2.9",
]
[[package]]
@@ -2293,7 +2293,7 @@ dependencies = [
"futures-io",
"memchr",
"parking",
"pin-project-lite 0.2.6",
"pin-project-lite 0.2.9",
"waker-fn",
]
@@ -2350,7 +2350,7 @@ dependencies = [
"futures-sink",
"futures-task",
"memchr",
"pin-project-lite 0.2.6",
"pin-project-lite 0.2.9",
"pin-utils",
"slab",
]
@@ -2667,15 +2667,21 @@ dependencies = [
[[package]]
name = "http-body"
version = "0.4.2"
version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "60daa14be0e0786db0f03a9e57cb404c9d756eed2b6c62b9ea98ec5743ec75a9"
checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
dependencies = [
"bytes",
"http",
"pin-project-lite 0.2.6",
"pin-project-lite 0.2.9",
]
[[package]]
name = "http-range-header"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0bfe8eed0a9285ef776bb792479ea3834e8b94e13d615c2f66d03dd50a435a29"
[[package]]
name = "httparse"
version = "1.8.0"
@@ -2710,7 +2716,7 @@ dependencies = [
"httparse",
"httpdate",
"itoa 1.0.4",
"pin-project-lite 0.2.6",
"pin-project-lite 0.2.9",
"socket2",
"tokio",
"tower-service",
@@ -2907,24 +2913,23 @@ dependencies = [
[[package]]
name = "jsonrpsee"
version = "0.15.1"
version = "0.16.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8bd0d559d5e679b1ab2f869b486a11182923863b1b3ee8b421763cdd707b783a"
checksum = "7d291e3a5818a2384645fd9756362e6d89cf0541b0b916fa7702ea4a9833608e"
dependencies = [
"jsonrpsee-core",
"jsonrpsee-http-server",
"jsonrpsee-proc-macros",
"jsonrpsee-server",
"jsonrpsee-types",
"jsonrpsee-ws-client",
"jsonrpsee-ws-server",
"tracing",
]
[[package]]
name = "jsonrpsee-client-transport"
version = "0.15.1"
version = "0.16.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8752740ecd374bcbf8b69f3e80b0327942df76f793f8d4e60d3355650c31fb74"
checksum = "965de52763f2004bc91ac5bcec504192440f0b568a5d621c59d9dbd6f886c3fb"
dependencies = [
"futures-util",
"http",
@@ -2943,9 +2948,9 @@ dependencies = [
[[package]]
name = "jsonrpsee-core"
version = "0.15.1"
version = "0.16.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f3dc3e9cf2ba50b7b1d7d76a667619f82846caa39e8e8daa8a4962d74acaddca"
checksum = "a4e70b4439a751a5de7dd5ed55eacff78ebf4ffe0fc009cb1ebb11417f5b536b"
dependencies = [
"anyhow",
"arrayvec 0.7.2",
@@ -2956,10 +2961,8 @@ dependencies = [
"futures-timer",
"futures-util",
"globset",
"http",
"hyper",
"jsonrpsee-types",
"lazy_static",
"parking_lot 0.12.1",
"rand 0.8.5",
"rustc-hash",
@@ -2969,34 +2972,15 @@ dependencies = [
"thiserror",
"tokio",
"tracing",
"tracing-futures",
"unicase",
]
[[package]]
name = "jsonrpsee-http-server"
version = "0.15.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "03802f0373a38c2420c70b5144742d800b509e2937edc4afb116434f07120117"
dependencies = [
"futures-channel",
"futures-util",
"hyper",
"jsonrpsee-core",
"jsonrpsee-types",
"serde",
"serde_json",
"tokio",
"tracing",
"tracing-futures",
]
[[package]]
name = "jsonrpsee-proc-macros"
version = "0.15.1"
version = "0.16.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bd67957d4280217247588ac86614ead007b301ca2fa9f19c19f880a536f029e3"
checksum = "baa6da1e4199c10d7b1d0a6e5e8bd8e55f351163b6f4b3cbb044672a69bd4c1c"
dependencies = [
"heck",
"proc-macro-crate",
"proc-macro2",
"quote",
@@ -3004,10 +2988,32 @@ dependencies = [
]
[[package]]
name = "jsonrpsee-types"
version = "0.15.1"
name = "jsonrpsee-server"
version = "0.16.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e290bba767401b646812f608c099b922d8142603c9e73a50fb192d3ac86f4a0d"
checksum = "1fb69dad85df79527c019659a992498d03f8495390496da2f07e6c24c2b356fc"
dependencies = [
"futures-channel",
"futures-util",
"http",
"hyper",
"jsonrpsee-core",
"jsonrpsee-types",
"serde",
"serde_json",
"soketto",
"tokio",
"tokio-stream",
"tokio-util",
"tower",
"tracing",
]
[[package]]
name = "jsonrpsee-types"
version = "0.16.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5bd522fe1ce3702fd94812965d7bb7a3364b1c9aba743944c5a00529aae80f8c"
dependencies = [
"anyhow",
"beef",
@@ -3019,9 +3025,9 @@ dependencies = [
[[package]]
name = "jsonrpsee-ws-client"
version = "0.15.1"
version = "0.16.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ee5feddd5188e62ac08fcf0e56478138e581509d4730f3f7be9b57dd402a4ff"
checksum = "0b83daeecfc6517cfe210df24e570fb06213533dfb990318fae781f4c7119dd9"
dependencies = [
"http",
"jsonrpsee-client-transport",
@@ -3029,26 +3035,6 @@ dependencies = [
"jsonrpsee-types",
]
[[package]]
name = "jsonrpsee-ws-server"
version = "0.15.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d488ba74fb369e5ab68926feb75a483458b88e768d44319f37e4ecad283c7325"
dependencies = [
"futures-channel",
"futures-util",
"http",
"jsonrpsee-core",
"jsonrpsee-types",
"serde_json",
"soketto",
"tokio",
"tokio-stream",
"tokio-util",
"tracing",
"tracing-futures",
]
[[package]]
name = "k256"
version = "0.11.5"
@@ -6334,9 +6320,9 @@ checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777"
[[package]]
name = "pin-project-lite"
version = "0.2.6"
version = "0.2.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc0e1f259c92177c30a4c9d177246edd0a3568b25756a977d0632cf8fa37e905"
checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
[[package]]
name = "pin-utils"
@@ -8110,11 +8096,14 @@ name = "sc-rpc-server"
version = "4.0.0-dev"
dependencies = [
"futures",
"http",
"jsonrpsee",
"log",
"serde_json",
"substrate-prometheus-endpoint",
"tokio",
"tower",
"tower-http",
]
[[package]]
@@ -8822,6 +8811,7 @@ dependencies = [
"bytes",
"flate2",
"futures",
"http",
"httparse",
"log",
"rand 0.8.5",
@@ -10297,7 +10287,7 @@ dependencies = [
"mio",
"num_cpus",
"parking_lot 0.12.1",
"pin-project-lite 0.2.6",
"pin-project-lite 0.2.9",
"signal-hook-registry",
"socket2",
"tokio-macros",
@@ -10333,7 +10323,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7b2f3f698253f03119ac0102beaa64f67a67e08074d03a22d18784104543727f"
dependencies = [
"futures-core",
"pin-project-lite 0.2.6",
"pin-project-lite 0.2.9",
"tokio",
]
@@ -10360,7 +10350,7 @@ dependencies = [
"futures-core",
"futures-io",
"futures-sink",
"pin-project-lite 0.2.6",
"pin-project-lite 0.2.9",
"tokio",
"tracing",
]
@@ -10374,6 +10364,41 @@ dependencies = [
"serde",
]
[[package]]
name = "tower"
version = "0.4.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c"
dependencies = [
"tower-layer",
"tower-service",
"tracing",
]
[[package]]
name = "tower-http"
version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f873044bf02dd1e8239e9c1293ea39dad76dc594ec16185d0a1bf31d8dc8d858"
dependencies = [
"bitflags",
"bytes",
"futures-core",
"futures-util",
"http",
"http-body",
"http-range-header",
"pin-project-lite 0.2.9",
"tower-layer",
"tower-service",
]
[[package]]
name = "tower-layer"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0"
[[package]]
name = "tower-service"
version = "0.3.1"
@@ -10387,7 +10412,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a400e31aa60b9d44a52a8ee0343b5b18566b03a8321e0d321f695cf56e940160"
dependencies = [
"cfg-if",
"pin-project-lite 0.2.6",
"log",
"pin-project-lite 0.2.9",
"tracing-attributes",
"tracing-core",
]
@@ -10657,15 +10683,6 @@ dependencies = [
"static_assertions",
]
[[package]]
name = "unicase"
version = "2.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
dependencies = [
"version_check",
]
[[package]]
name = "unicode-bidi"
version = "0.3.4"