summaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorSebastian Holmin <sebastian.holmin@mullvad.net>2024-09-24 15:48:27 +0200
committerSebastian Holmin <sebastian.holmin@mullvad.net>2024-09-26 08:59:09 +0200
commit76e8342a64006bc6a004c0511c3aefcae89b11cc (patch)
treeddad81f49d478dca3ce7d7c2247119cf76632eef /test
parentd75f793ed898835e00f5ff08a259f5f64662b07f (diff)
downloadmullvadvpn-76e8342a64006bc6a004c0511c3aefcae89b11cc.tar.xz
mullvadvpn-76e8342a64006bc6a004c0511c3aefcae89b11cc.zip
Update to `hyper` version 1 echosystem for e2e tests
Diffstat (limited to 'test')
-rw-r--r--test/Cargo.lock318
-rw-r--r--test/Cargo.toml1
-rw-r--r--test/test-manager/Cargo.toml2
-rw-r--r--test/test-rpc/Cargo.toml10
-rw-r--r--test/test-rpc/src/net.rs36
5 files changed, 312 insertions, 55 deletions
diff --git a/test/Cargo.lock b/test/Cargo.lock
index e12e3add15..2eaea12ba0 100644
--- a/test/Cargo.lock
+++ b/test/Cargo.lock
@@ -207,6 +207,33 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80"
[[package]]
+name = "aws-lc-rs"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2f95446d919226d587817a7d21379e6eb099b97b45110a7f272a444ca5c54070"
+dependencies = [
+ "aws-lc-sys",
+ "mirai-annotations",
+ "paste",
+ "zeroize",
+]
+
+[[package]]
+name = "aws-lc-sys"
+version = "0.21.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b3ddc4a5b231dd6958b140ff3151b6412b3f4321fab354f399eec8f14b06df62"
+dependencies = [
+ "bindgen",
+ "cc",
+ "cmake",
+ "dunce",
+ "fs_extra",
+ "libc",
+ "paste",
+]
+
+[[package]]
name = "axum"
version = "0.7.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -276,12 +303,6 @@ checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf"
[[package]]
name = "base64"
-version = "0.13.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
-
-[[package]]
-name = "base64"
version = "0.21.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
@@ -299,6 +320,29 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b"
[[package]]
+name = "bindgen"
+version = "0.69.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0"
+dependencies = [
+ "bitflags 2.5.0",
+ "cexpr",
+ "clang-sys",
+ "itertools 0.12.1",
+ "lazy_static",
+ "lazycell",
+ "log",
+ "prettyplease",
+ "proc-macro2",
+ "quote",
+ "regex",
+ "rustc-hash",
+ "shlex",
+ "syn 2.0.60",
+ "which",
+]
+
+[[package]]
name = "bitflags"
version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -386,9 +430,14 @@ dependencies = [
[[package]]
name = "cc"
-version = "1.0.95"
+version = "1.1.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d32a725bc159af97c3e629873bb9f88fb8cf8a4867175f76dc987815ea07c83b"
+checksum = "07b1695e2c7e8fc85310cde85aeaab7e3097f593c91d209d3f9df76c928100f0"
+dependencies = [
+ "jobserver",
+ "libc",
+ "shlex",
+]
[[package]]
name = "cesu8"
@@ -397,6 +446,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c"
[[package]]
+name = "cexpr"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
+dependencies = [
+ "nom",
+]
+
+[[package]]
name = "cfg-if"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -457,6 +515,17 @@ dependencies = [
]
[[package]]
+name = "clang-sys"
+version = "1.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4"
+dependencies = [
+ "glob",
+ "libc",
+ "libloading 0.8.5",
+]
+
+[[package]]
name = "clap"
version = "4.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -497,6 +566,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
[[package]]
+name = "cmake"
+version = "0.1.51"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fb1e43aa7fd152b1f968787f7dbcdeb306d1867ff373c69955211876c053f91a"
+dependencies = [
+ "cc",
+]
+
+[[package]]
name = "color-eyre"
version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -750,6 +828,12 @@ dependencies = [
]
[[package]]
+name = "dunce"
+version = "1.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813"
+
+[[package]]
name = "ecdsa"
version = "0.16.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -980,6 +1064,12 @@ dependencies = [
]
[[package]]
+name = "fs_extra"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c"
+
+[[package]]
name = "fsevent-sys"
version = "4.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1281,6 +1371,15 @@ dependencies = [
]
[[package]]
+name = "home"
+version = "0.5.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
name = "hostname"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1419,12 +1518,29 @@ dependencies = [
"futures-util",
"http 0.2.12",
"hyper 0.14.28",
+ "rustls 0.21.11",
+ "tokio",
+ "tokio-rustls 0.24.1",
+]
+
+[[package]]
+name = "hyper-rustls"
+version = "0.27.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333"
+dependencies = [
+ "futures-util",
+ "http 1.1.0",
+ "hyper 1.4.1",
+ "hyper-util",
"log",
- "rustls",
+ "rustls 0.23.13",
"rustls-native-certs",
+ "rustls-pki-types",
"tokio",
- "tokio-rustls",
- "webpki-roots",
+ "tokio-rustls 0.26.0",
+ "tower-service",
+ "webpki-roots 0.26.6",
]
[[package]]
@@ -1694,6 +1810,15 @@ dependencies = [
]
[[package]]
+name = "jobserver"
+version = "0.1.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0"
+dependencies = [
+ "libc",
+]
+
+[[package]]
name = "js-sys"
version = "0.3.69"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1729,6 +1854,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
+name = "lazycell"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
+
+[[package]]
name = "libc"
version = "0.2.155"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1745,6 +1876,16 @@ dependencies = [
]
[[package]]
+name = "libloading"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4"
+dependencies = [
+ "cfg-if",
+ "windows-targets 0.52.6",
+]
+
+[[package]]
name = "libredox"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1894,6 +2035,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
[[package]]
+name = "minimal-lexical"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
+
+[[package]]
name = "miniz_oxide"
version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1928,6 +2075,12 @@ dependencies = [
]
[[package]]
+name = "mirai-annotations"
+version = "1.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c9be0862c1b3f26a88803c4a49de6889c10e608b3ee9344e6ef5b45fb37ad3d1"
+
+[[package]]
name = "mullvad-api"
version = "0.0.0"
dependencies = [
@@ -1935,13 +2088,13 @@ dependencies = [
"chrono",
"futures",
"http 0.2.12",
- "hyper 0.14.28",
+ "hyper 1.4.1",
"ipnetwork",
"libc",
"log",
"mullvad-fs",
"mullvad-types",
- "rustls-pemfile 1.0.4",
+ "rustls-pemfile 2.1.3",
"serde",
"serde_json",
"shadowsocks",
@@ -1949,7 +2102,7 @@ dependencies = [
"talpid-types",
"thiserror",
"tokio",
- "tokio-rustls",
+ "tokio-rustls 0.26.0",
"tokio-socks",
"uuid",
]
@@ -2081,6 +2234,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "43794a0ace135be66a25d3ae77d41b91615fb68ae937f904090203e81f755b65"
[[package]]
+name = "nom"
+version = "7.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
+dependencies = [
+ "memchr",
+ "minimal-lexical",
+]
+
+[[package]]
name = "notify"
version = "6.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2298,6 +2461,12 @@ dependencies = [
]
[[package]]
+name = "paste"
+version = "1.0.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
+
+[[package]]
name = "pcap"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2307,7 +2476,7 @@ dependencies = [
"errno 0.2.8",
"futures",
"libc",
- "libloading",
+ "libloading 0.6.7",
"pkg-config",
"regex",
"tokio",
@@ -2761,7 +2930,7 @@ dependencies = [
"http 0.2.12",
"http-body 0.4.6",
"hyper 0.14.28",
- "hyper-rustls",
+ "hyper-rustls 0.24.2",
"ipnet",
"js-sys",
"log",
@@ -2769,7 +2938,7 @@ dependencies = [
"once_cell",
"percent-encoding",
"pin-project-lite",
- "rustls",
+ "rustls 0.21.11",
"rustls-pemfile 1.0.4",
"serde",
"serde_json",
@@ -2777,13 +2946,13 @@ dependencies = [
"sync_wrapper 0.1.2",
"system-configuration",
"tokio",
- "tokio-rustls",
+ "tokio-rustls 0.24.1",
"tower-service",
"url",
"wasm-bindgen",
"wasm-bindgen-futures",
"web-sys",
- "webpki-roots",
+ "webpki-roots 0.25.4",
"winreg",
]
@@ -2844,6 +3013,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
[[package]]
+name = "rustc-hash"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
+
+[[package]]
name = "rustc_version"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2873,41 +3048,64 @@ checksum = "7fecbfb7b1444f477b345853b1fce097a2c6fb637b2bfb87e6bc5db0f043fae4"
dependencies = [
"log",
"ring",
- "rustls-webpki",
+ "rustls-webpki 0.101.7",
"sct",
]
[[package]]
+name = "rustls"
+version = "0.23.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f2dabaac7466917e566adb06783a81ca48944c6898a1b08b9374106dd671f4c8"
+dependencies = [
+ "aws-lc-rs",
+ "log",
+ "once_cell",
+ "rustls-pki-types",
+ "rustls-webpki 0.102.8",
+ "subtle",
+ "zeroize",
+]
+
+[[package]]
name = "rustls-native-certs"
-version = "0.6.3"
+version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00"
+checksum = "fcaf18a4f2be7326cd874a5fa579fae794320a0f388d365dca7e480e55f83f8a"
dependencies = [
"openssl-probe",
- "rustls-pemfile 1.0.4",
+ "rustls-pemfile 2.1.3",
+ "rustls-pki-types",
"schannel",
"security-framework",
]
[[package]]
name = "rustls-pemfile"
-version = "0.2.1"
+version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5eebeaeb360c87bfb72e84abdb3447159c0eaececf1bef2aecd65a8be949d1c9"
+checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
dependencies = [
- "base64 0.13.1",
+ "base64 0.21.7",
]
[[package]]
name = "rustls-pemfile"
-version = "1.0.4"
+version = "2.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
+checksum = "196fe16b00e106300d3e45ecfcb764fa292a535d7326a29a5875c579c7417425"
dependencies = [
- "base64 0.21.7",
+ "base64 0.22.0",
+ "rustls-pki-types",
]
[[package]]
+name = "rustls-pki-types"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc0a2ce646f8655401bb81e7927b812614bd5d91dbc968696be50603510fcaf0"
+
+[[package]]
name = "rustls-webpki"
version = "0.101.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2918,6 +3116,18 @@ dependencies = [
]
[[package]]
+name = "rustls-webpki"
+version = "0.102.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9"
+dependencies = [
+ "aws-lc-rs",
+ "ring",
+ "rustls-pki-types",
+ "untrusted",
+]
+
+[[package]]
name = "rustversion"
version = "1.0.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3153,6 +3363,12 @@ dependencies = [
]
[[package]]
+name = "shlex"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
+
+[[package]]
name = "signal-hook-registry"
version = "1.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3484,16 +3700,18 @@ dependencies = [
"bytes",
"colored",
"futures",
- "hyper 0.14.28",
- "hyper-rustls",
+ "http-body-util",
+ "hyper 1.4.1",
+ "hyper-rustls 0.27.3",
+ "hyper-util",
"log",
- "rustls-pemfile 0.2.1",
+ "rustls-pemfile 2.1.3",
"serde",
"serde_json",
"tarpc",
"thiserror",
"tokio",
- "tokio-rustls",
+ "tokio-rustls 0.26.0",
"tokio-serde",
"tokio-util",
]
@@ -3654,7 +3872,18 @@ version = "0.24.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
dependencies = [
- "rustls",
+ "rustls 0.21.11",
+ "tokio",
+]
+
+[[package]]
+name = "tokio-rustls"
+version = "0.26.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4"
+dependencies = [
+ "rustls 0.23.13",
+ "rustls-pki-types",
"tokio",
]
@@ -4120,6 +4349,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1"
[[package]]
+name = "webpki-roots"
+version = "0.26.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "841c67bff177718f1d4dfefde8d8f0e78f9b6589319ba88312f567fc5841a958"
+dependencies = [
+ "rustls-pki-types",
+]
+
+[[package]]
+name = "which"
+version = "4.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7"
+dependencies = [
+ "either",
+ "home",
+ "once_cell",
+ "rustix",
+]
+
+[[package]]
name = "widestring"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
diff --git a/test/Cargo.toml b/test/Cargo.toml
index d436ee9b1e..fd50761e7e 100644
--- a/test/Cargo.toml
+++ b/test/Cargo.toml
@@ -60,6 +60,7 @@ tower = "0.4"
prost = "0.13.3"
prost-types = "0.13.3"
tarpc = { version = "0.30", features = ["tokio1", "serde-transport", "serde1"] }
+hyper-util = {version = "0.1.8", features = ["client", "client-legacy", "http2"]}
# Logging
env_logger = "0.11.0"
diff --git a/test/test-manager/Cargo.toml b/test/test-manager/Cargo.toml
index 3331cb19bb..80c8170635 100644
--- a/test/test-manager/Cargo.toml
+++ b/test/test-manager/Cargo.toml
@@ -49,7 +49,7 @@ socks-server = { path = "../socks-server" }
env_logger = { workspace = true }
tonic = { workspace = true }
-hyper-util = "0.1.8"
+hyper-util = { workspace = true }
tower = { workspace = true }
colored = { workspace = true }
diff --git a/test/test-rpc/Cargo.toml b/test/test-rpc/Cargo.toml
index c39a2a1975..2b5db31a88 100644
--- a/test/test-rpc/Cargo.toml
+++ b/test/test-rpc/Cargo.toml
@@ -23,10 +23,12 @@ log = { workspace = true }
colored = { workspace = true }
async-trait = { workspace = true }
-hyper = { version = "0.14.23", features = ["client", "http2"] }
-hyper-rustls = { version = "0.24", features = ["log", "webpki-roots"] }
-tokio-rustls = "0.24"
-rustls-pemfile = "0.2"
+hyper = { version = "1.4.1", features = ["client", "http2"] }
+hyper-rustls = { version = "0.27.3", features = ["log", "webpki-roots"] }
+hyper-util = {workspace = true}
+http-body-util = "0.1.2"
+tokio-rustls = "0.26.0"
+rustls-pemfile = "2.1.3"
[dependencies.tokio-util]
version = "0.7"
diff --git a/test/test-rpc/src/net.rs b/test/test-rpc/src/net.rs
index c867ccf0d0..4f79aca8d5 100644
--- a/test/test-rpc/src/net.rs
+++ b/test/test-rpc/src/net.rs
@@ -1,19 +1,17 @@
+use crate::{AmIMullvad, Error};
+use bytes::Bytes;
use futures::channel::oneshot;
-use hyper::{Client, Uri};
+use http_body_util::{BodyExt, Full};
+use hyper::Uri;
+use hyper_util::client::legacy::Client;
use serde::{de::DeserializeOwned, Deserialize, Serialize};
use std::{net::SocketAddr, sync::LazyLock, time::Duration};
-use tokio_rustls::rustls::ClientConfig;
-
-use crate::{AmIMullvad, Error};
+use tokio_rustls::rustls::{self, ClientConfig};
const LE_ROOT_CERT: &[u8] = include_bytes!("../../../mullvad-api/le_root_cert.pem");
static CLIENT_CONFIG: LazyLock<ClientConfig> = LazyLock::new(|| {
ClientConfig::builder()
- .with_safe_default_cipher_suites()
- .with_safe_default_kx_groups()
- .with_safe_default_protocol_versions()
- .unwrap()
.with_root_certificates(read_cert_store())
.with_no_client_auth()
});
@@ -86,7 +84,8 @@ pub async fn http_get<T: DeserializeOwned>(url: Uri) -> Result<T, Error> {
.enable_http1()
.build();
- let client: Client<_, hyper::Body> = Client::builder().build(https);
+ let client: Client<_, Full<Bytes>> =
+ Client::builder(hyper_util::rt::TokioExecutor::new()).build(https);
let body = client
.get(url)
.await
@@ -94,10 +93,14 @@ pub async fn http_get<T: DeserializeOwned>(url: Uri) -> Result<T, Error> {
.into_body();
// TODO: limit length
- let bytes = hyper::body::to_bytes(body).await.map_err(|error| {
- log::error!("Failed to convert body to bytes buffer: {}", error);
- Error::DeserializeBody
- })?;
+ let bytes = body
+ .collect()
+ .await
+ .map_err(|error| {
+ log::error!("Failed to collect response body: {}", error);
+ Error::DeserializeBody
+ })?
+ .to_bytes();
serde_json::from_slice(&bytes).map_err(|error| {
log::error!("Failed to deserialize response: {}", error);
@@ -114,12 +117,13 @@ pub async fn http_get_with_timeout<T: DeserializeOwned>(
.map_err(|_| Error::HttpRequest("Request timed out".into()))?
}
-fn read_cert_store() -> tokio_rustls::rustls::RootCertStore {
- let mut cert_store = tokio_rustls::rustls::RootCertStore::empty();
+fn read_cert_store() -> rustls::RootCertStore {
+ let mut cert_store = rustls::RootCertStore::empty();
let certs = rustls_pemfile::certs(&mut std::io::BufReader::new(LE_ROOT_CERT))
+ .collect::<Result<Vec<_>, _>>()
.expect("Failed to parse pem file");
- let (num_certs_added, num_failures) = cert_store.add_parsable_certificates(&certs);
+ let (num_certs_added, num_failures) = cert_store.add_parsable_certificates(certs);
if num_failures > 0 || num_certs_added != 1 {
panic!("Failed to add root cert");
}