fix: remove OpenSSL dependency by migrating isahc to reqwest (rustls-tls)

This commit fixes CI failures caused by curl-sys requiring OpenSSL 3.0.0+
which is not available in the CI container image (Debian bullseye).

Changes:
- Replace isahc with reqwest (rustls-tls feature) in relay-utils
- Remove isahc from workspace dependencies
- Update reqwest to use rustls-tls and json features
- Update Cargo.lock (removes curl, curl-sys, isahc, openssl-sys, native-tls)

Benefits:
- Pure Rust TLS implementation (no OpenSSL dependency)
- More portable across different Linux distributions
- Eliminates C compilation requirements for TLS
- Better security (memory-safe TLS implementation)

Affected workflows:
- Checks / cargo-clippy
- Checks / check-try-runtime
- Docs / test-doc, build-rustdoc
- Build and push images
- tests linux stable
- tests misc
This commit is contained in:
2026-01-25 14:09:46 +03:00
parent 908485297d
commit 57d64eeb79
5 changed files with 286 additions and 281 deletions
+254
View File
@@ -0,0 +1,254 @@
# CI WORKFLOW HATA ANALİZİ VE ÇÖZÜM CHECKLIST
**Tarih:** 2026-01-25
**Analiz Edilen Run'lar:** Son 100 failed workflow
---
## ÖZET: 5 KÖK NEDEN BULUNDU
| # | Kök Neden | Etkilenen Workflow Sayısı | Öncelik |
|---|-----------|---------------------------|---------|
| 1 | curl-sys OpenSSL 3.0.0 gereksinimi | 4+ | KRİTİK |
| 2 | Cargo.lock güncel değil | 3+ | KRİTİK |
| 3 | HOME dizin uyumsuzluğu (container) | 1 | YÜKSEK |
| 4 | serde_core wasm32 compile hatası | 1+ | YÜKSEK |
| 5 | WhereSection::_w deprecated constant | 1 | ORTA |
---
## HATA 1: curl-sys OpenSSL 3.0.0 Gereksinimi ✅ ÇÖZÜLDÜ
### Hata Mesajı:
```
error: failed to run custom build command for `curl-sys v0.4.85+curl-8.18.0`
cargo:warning=curl/lib/vtls/openssl.c:101:6: error: "OpenSSL 3.0.0 or later required"
```
### Etkilenen Workflow'lar:
- ✅ Checks / cargo-clippy
- ✅ Checks / check-try-runtime
- ✅ Docs / test-doc
- ✅ Docs / build-rustdoc
### Kök Neden:
CI container image'ında (Debian-based) OpenSSL 1.x kurulu. curl-sys v0.4.85+ ise OpenSSL 3.0.0+ gerektiriyor.
### KALICI ÇÖZÜM UYGULANDI:
**OpenSSL bağımlılığı tamamen kaldırıldı - isahc → reqwest (rustls-tls) migration**
Bu çözüm:
- OpenSSL bağımlılığını tamamen kaldırdı
- Pure Rust TLS (rustls) kullanıyor
- Daha güvenli, daha portable
- C derleme gereksinimi yok
**Değiştirilen dosyalar:**
1. `Cargo.toml` - reqwest'e rustls-tls feature eklendi, isahc kaldırıldı
2. `pezbridges/relays/utils/Cargo.toml` - isahc → reqwest
3. `pezbridges/relays/utils/src/metrics/float_json_value.rs` - kod güncellendi
**Kaldırılan bağımlılıklar (Cargo.lock):**
- curl, curl-sys, isahc, openssl-sys, native-tls, libnghttp2-sys...
### Durum:
- [x] Çözüm seçildi (KALICI: OpenSSL bağımlılığı tamamen kaldırıldı)
- [x] Uygulama yapıldı
- [x] Test edildi (`cargo check --workspace` başarılı)
---
## HATA 2: Cargo.lock Güncel Değil ✅ ÇÖZÜLDÜ
### Hata Mesajı:
```
error: the lock file Cargo.lock needs to be updated but --locked was passed to prevent this
```
### Etkilenen Workflow'lar:
- ✅ Build and push images / build-linux-bizinikiwi
- ✅ Build and push images / build-linux-stable
- ✅ tests linux stable / test-linux-stable-no-try-runtime
- ✅ tests linux stable / test-linux-stable
- ✅ tests misc / cargo-check-benches
### Kök Neden:
Cargo.toml'da dependency değişikliği yapıldı ama Cargo.lock güncellenmeden commit edildi.
### ÇÖZÜM UYGULANDI:
`cargo update` çalıştırıldı, Cargo.lock güncellendi.
Ayrıca isahc → reqwest migration sırasında Cargo.lock tamamen yenilendi.
### Durum:
- [x] `cargo update` çalıştırıldı
- [x] Cargo.lock güncellendi (curl/isahc/openssl kaldırıldı)
- [ ] Cargo.lock commit edildi (beklemede)
- [ ] CI tekrar çalıştırıldı
---
## HATA 3: HOME Dizin Uyumsuzluğu (Container) ✅ ÇÖZÜLDÜ
### Hata Mesajı:
```
error: $HOME differs from euid-obtained home directory: you may be using sudo
error: $HOME directory: /github/home
error: euid-obtained home directory: /root
```
### Etkilenen Workflow'lar:
- ✅ Check the getting-started.sh script (tüm container job'ları)
### Kök Neden:
GitHub Actions container job'larında HOME env değişkeni `/github/home` olarak ayarlı, ancak container root kullanıcısı `/root` home dizinini kullanıyor. rustup bu tutarsızlığı reddediyor.
### ÇÖZÜM UYGULANMIŞ (önceki oturumda):
```yaml
# .github/workflows/check-getting-started.yml satır 79-80
env:
HOME: /root # Fix HOME directory mismatch in containers (rustup requires this)
```
### Durum:
- [x] HOME env variable eklendi
- [ ] Commit yapıldı (beklemede)
- [ ] CI tekrar çalıştırıldı
---
## HATA 4: serde_core wasm32 Compile Hatası
### Hata Mesajı:
```
error: could not compile `serde_core` (lib) due to 1 previous error
```
### Etkilenen Workflow'lar:
- ❌ EVM test suite / differential-tests
### Kök Neden:
serde_core crate'i wasm32 target'ında compile olurken "duplicate lang item" veya "ambiguous imports" hatası veriyor.
### Durum:
Bu sorun daha önce `pezkuwichain/serde` fork'unda düzeltildi:
- Fork commit: `0a75fdd8`
- pezkuwi-sdk commit: `7cc45454ff`
### Kontrol Edilmesi Gerekenler:
1. Cargo.lock serde_core'un doğru commit'i mi gösteriyor?
2. CI cache temizlenmesi gerekiyor mu?
### Çözüm (eğer hala devam ediyorsa):
```bash
# Cargo.lock'u kontrol et
grep -A5 'name = "serde_core"' Cargo.lock
# Force update
cargo update -p serde_core
```
### Durum:
- [ ] serde_core versiyonu doğrulandı
- [ ] Cargo.lock güncellendi
- [ ] CI tekrar çalıştırıldı
---
## HATA 5: WhereSection::_w UI Test Mismatch ⚠️ İNCELENİYOR
### Hata Mesajı:
```
error: use of deprecated constant `WhereSection::_w`:
= help: the trait `std::fmt::Debug` is implemented for `pezframe_system::Error<T>`
```
### Etkilenen Workflow'lar:
- ⚠️ tests misc / test-pezframe-ui
### Kök Neden:
Bu bir **UI testi** - kasıtlı olarak deprecated constant hatası BEKLEYEN bir test.
`.stderr` dosyası beklenen derleyici çıktısını içeriyor.
CI'daki sorun: Gerçek çıktı ile beklenen çıktı arasında ufak farklar var.
### Dosya:
- Test: `bizinikiwi/pezframe/support/test/tests/construct_runtime_ui/deprecated_where_block.rs`
- Beklenen hata: `bizinikiwi/pezframe/support/test/tests/construct_runtime_ui/deprecated_where_block.stderr`
### Olası Nedenler:
1. Rust compiler versiyonu farkı (hata mesajı formatı değişmiş olabilir)
2. serde_core path değişikliği (`$CARGO/serde_core-$VERSION/...`)
### Çözüm:
UI testini yeniden generate etmek gerekebilir:
```bash
TRYBUILD=overwrite cargo test -p pezframe-support-test --test construct_runtime_ui
```
### Durum:
- [x] Kök neden analiz edildi (UI test mismatch)
- [ ] UI test stderr dosyası güncellendi
- [ ] Test geçti
---
## UYGULAMA SIRASI (ÖNERİLEN)
### Adım 1: Cargo.lock Güncelle (5 dakika)
```bash
cd /home/mamostehp/pezkuwi-sdk
cargo update
cargo check --workspace
git add Cargo.lock
git commit -m "chore: update Cargo.lock for CI compatibility"
```
### Adım 2: HOME Env Variable Ekle (2 dakika)
```yaml
# .github/workflows/check-getting-started.yml düzenle
# env: bloğuna HOME: /root ekle
```
### Adım 3: OpenSSL Sorunu Çöz (10 dakika)
```yaml
# .github/workflows/checks.yml düzenle
# OpenSSL 3 kurulumu veya alternative çözüm
```
### Adım 4: Commit ve Push
```bash
git add -A
git commit -m "fix: CI workflow failures - Cargo.lock, HOME env, OpenSSL"
git push
```
### Adım 5: CI İzle
```bash
gh run watch
```
---
## EK: ETKİLENEN WORKFLOW DOSYALARI
| Workflow Dosyası | Hatalar |
|------------------|---------|
| `.github/workflows/checks.yml` | curl-sys/OpenSSL |
| `.github/workflows/docs.yml` | curl-sys/OpenSSL |
| `.github/workflows/build-misc.yml` | Cargo.lock |
| `.github/workflows/tests-linux-stable.yml` | Cargo.lock |
| `.github/workflows/tests-misc.yml` | Cargo.lock, WhereSection |
| `.github/workflows/check-getting-started.yml` | HOME env |
| `.github/workflows/evm-tests.yml` | serde_core |
---
## NOTLAR
1. **Öncelik:** Önce Cargo.lock'u güncelle - bu en çok workflow'u etkiliyor
2. **Test:** Her değişiklikten sonra lokal test yap (`cargo check --workspace`)
3. **Paralel:** curl-sys ve HOME sorunları birlikte commit edilebilir
4. **Cache:** CI cache temizliği gerekebilir (`gh cache delete --all`)
---
*Bu checklist CI hataları çözülene kadar güncel tutulmalıdır.*
Generated
+19 -274
View File
@@ -1553,8 +1553,8 @@ checksum = "497c00e0fd83a72a79a39fcbd8e3e2f055d6f6c7e025f3b3d91f4f8e76527fb8"
dependencies = [
"async-task",
"concurrent-queue",
"fastrand 2.3.0",
"futures-lite 2.6.1",
"fastrand",
"futures-lite",
"pin-project-lite",
"slab",
]
@@ -1567,7 +1567,7 @@ checksum = "8034a681df4aed8b8edbd7fbe472401ecf009251c8b40556b304567052e294c5"
dependencies = [
"async-lock",
"blocking",
"futures-lite 2.6.1",
"futures-lite",
]
[[package]]
@@ -1581,7 +1581,7 @@ dependencies = [
"async-io",
"async-lock",
"blocking",
"futures-lite 2.6.1",
"futures-lite",
"once_cell",
]
@@ -1595,9 +1595,9 @@ dependencies = [
"cfg-if",
"concurrent-queue",
"futures-io",
"futures-lite 2.6.1",
"futures-lite",
"parking",
"polling 3.11.0",
"polling",
"rustix 1.1.3",
"slab",
"windows-sys 0.61.2",
@@ -1622,7 +1622,7 @@ checksum = "b948000fad4873c1c9339d60f2623323a0cfd3816e5181033c6a5cb68b2accf7"
dependencies = [
"async-io",
"blocking",
"futures-lite 2.6.1",
"futures-lite",
]
[[package]]
@@ -1639,7 +1639,7 @@ dependencies = [
"blocking",
"cfg-if",
"event-listener 5.4.1",
"futures-lite 2.6.1",
"futures-lite",
"rustix 1.1.3",
]
@@ -1676,7 +1676,7 @@ dependencies = [
"futures-channel",
"futures-core",
"futures-io",
"futures-lite 2.6.1",
"futures-lite",
"gloo-timers 0.3.0",
"kv-log-macro",
"log",
@@ -2451,7 +2451,7 @@ dependencies = [
"async-channel 2.5.0",
"async-task",
"futures-io",
"futures-lite 2.6.1",
"futures-lite",
"piper",
]
@@ -2670,12 +2670,6 @@ version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
[[package]]
name = "castaway"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a2698f953def977c68f935bb0dfa959375ad4638570e969e2f1e9f433cbf1af6"
[[package]]
name = "cc"
version = "1.2.54"
@@ -3888,37 +3882,6 @@ dependencies = [
"windows-sys 0.61.2",
]
[[package]]
name = "curl"
version = "0.4.49"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "79fc3b6dd0b87ba36e565715bf9a2ced221311db47bd18011676f24a6066edbc"
dependencies = [
"curl-sys",
"libc",
"openssl-probe 0.1.6",
"openssl-sys",
"schannel",
"socket2 0.6.2",
"windows-sys 0.59.0",
]
[[package]]
name = "curl-sys"
version = "0.4.85+curl-8.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c0efa6142b5ecc05f6d3eaa39e6af4888b9d3939273fb592c92b7088a8cf3fdb"
dependencies = [
"cc",
"libc",
"libnghttp2-sys",
"libz-sys",
"openssl-sys",
"pkg-config",
"vcpkg",
"windows-sys 0.59.0",
]
[[package]]
name = "curve25519-dalek"
version = "4.1.3"
@@ -4671,15 +4634,6 @@ version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0"
[[package]]
name = "encoding_rs"
version = "0.8.35"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3"
dependencies = [
"cfg-if",
]
[[package]]
name = "enum-as-inner"
version = "0.6.1"
@@ -4984,15 +4938,6 @@ dependencies = [
"regex-syntax",
]
[[package]]
name = "fastrand"
version = "1.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
dependencies = [
"instant",
]
[[package]]
name = "fastrand"
version = "2.3.0"
@@ -5222,21 +5167,6 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb"
[[package]]
name = "foreign-types"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
dependencies = [
"foreign-types-shared",
]
[[package]]
name = "foreign-types-shared"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
[[package]]
name = "form_urlencoded"
version = "1.2.2"
@@ -5426,28 +5356,13 @@ version = "0.3.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6"
[[package]]
name = "futures-lite"
version = "1.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce"
dependencies = [
"fastrand 1.9.0",
"futures-core",
"futures-io",
"memchr",
"parking",
"pin-project-lite",
"waker-fn",
]
[[package]]
name = "futures-lite"
version = "2.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad"
dependencies = [
"fastrand 2.3.0",
"fastrand",
"futures-core",
"futures-io",
"parking",
@@ -6288,22 +6203,6 @@ dependencies = [
"tokio-io-timeout",
]
[[package]]
name = "hyper-tls"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0"
dependencies = [
"bytes",
"http-body-util",
"hyper 1.8.1",
"hyper-util",
"native-tls",
"tokio",
"tokio-native-tls",
"tower-service",
]
[[package]]
name = "hyper-util"
version = "0.1.19"
@@ -6323,11 +6222,9 @@ dependencies = [
"percent-encoding",
"pin-project-lite",
"socket2 0.6.2",
"system-configuration",
"tokio",
"tower-service",
"tracing",
"windows-registry",
]
[[package]]
@@ -6728,33 +6625,6 @@ version = "1.70.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695"
[[package]]
name = "isahc"
version = "1.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "334e04b4d781f436dc315cb1e7515bd96826426345d498149e4bde36b67f8ee9"
dependencies = [
"async-channel 1.9.0",
"castaway",
"crossbeam-utils",
"curl",
"curl-sys",
"encoding_rs",
"event-listener 2.5.3",
"futures-lite 1.13.0",
"http 0.2.12",
"log",
"mime",
"once_cell",
"polling 2.8.0",
"slab",
"sluice",
"tracing",
"tracing-futures",
"url",
"waker-fn",
]
[[package]]
name = "itertools"
version = "0.10.5"
@@ -7429,16 +7299,6 @@ version = "0.2.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981"
[[package]]
name = "libnghttp2-sys"
version = "0.1.11+1.64.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b6c24e48a7167cffa7119da39d577fa482e66c688a4aac016bee862e1a713c4"
dependencies = [
"cc",
"libc",
]
[[package]]
name = "libp2p"
version = "0.56.0"
@@ -8557,23 +8417,6 @@ version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3"
[[package]]
name = "native-tls"
version = "0.2.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e"
dependencies = [
"libc",
"log",
"openssl",
"openssl-probe 0.1.6",
"openssl-sys",
"schannel",
"security-framework 2.11.1",
"security-framework-sys",
"tempfile",
]
[[package]]
name = "netlink-packet-core"
version = "0.7.0"
@@ -9029,32 +8872,6 @@ version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381"
[[package]]
name = "openssl"
version = "0.10.75"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "08838db121398ad17ab8531ce9de97b244589089e290a384c900cb9ff7434328"
dependencies = [
"bitflags 2.10.0",
"cfg-if",
"foreign-types",
"libc",
"once_cell",
"openssl-macros",
"openssl-sys",
]
[[package]]
name = "openssl-macros"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
dependencies = [
"proc-macro2 1.0.106",
"quote 1.0.44",
"syn 2.0.114",
]
[[package]]
name = "openssl-probe"
version = "0.1.6"
@@ -9067,18 +8884,6 @@ version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe"
[[package]]
name = "openssl-sys"
version = "0.9.111"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "82cab2d520aa75e3c58898289429321eb788c3106963d0dc886ec7a5f4adc321"
dependencies = [
"cc",
"libc",
"pkg-config",
"vcpkg",
]
[[package]]
name = "option-ext"
version = "0.2.0"
@@ -21850,7 +21655,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066"
dependencies = [
"atomic-waker",
"fastrand 2.3.0",
"fastrand",
"futures-io",
]
@@ -22089,22 +21894,6 @@ version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "751fbbcf86635834dd9a700039c74ce8c7871b317acc84582d9667dad2ed9848"
[[package]]
name = "polling"
version = "2.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce"
dependencies = [
"autocfg",
"bitflags 1.3.2",
"cfg-if",
"concurrent-queue",
"libc",
"log",
"pin-project-lite",
"windows-sys 0.48.0",
]
[[package]]
name = "polling"
version = "3.11.0"
@@ -23211,13 +23000,13 @@ dependencies = [
"backoff",
"bizinikiwi-prometheus-endpoint",
"futures",
"isahc",
"jsonpath_lib",
"num-traits",
"parking_lot 0.12.5",
"pezbp-runtime",
"pezsp-runtime",
"pezsp-tracing",
"reqwest",
"serde_json",
"sysinfo",
"thiserror 1.0.69",
@@ -23234,22 +23023,17 @@ checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147"
dependencies = [
"base64 0.22.1",
"bytes",
"encoding_rs",
"futures-channel",
"futures-core",
"futures-util",
"h2",
"http 1.4.0",
"http-body 1.0.1",
"http-body-util",
"hyper 1.8.1",
"hyper-rustls 0.27.7",
"hyper-tls",
"hyper-util",
"js-sys",
"log",
"mime",
"native-tls",
"percent-encoding",
"pin-project-lite",
"quinn",
@@ -23260,7 +23044,6 @@ dependencies = [
"serde_urlencoded",
"sync_wrapper",
"tokio",
"tokio-native-tls",
"tokio-rustls 0.26.4",
"tower 0.5.3",
"tower-http 0.6.8",
@@ -24796,17 +24579,6 @@ dependencies = [
"version_check",
]
[[package]]
name = "sluice"
version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6d7400c0eff44aa2fcb5e31a5f24ba9716ed90138769e4977a2ba6014ae63eb5"
dependencies = [
"async-channel 1.9.0",
"futures-core",
"futures-io",
]
[[package]]
name = "smallstr"
version = "0.3.1"
@@ -24839,7 +24611,7 @@ dependencies = [
"async-net",
"async-process",
"blocking",
"futures-lite 2.6.1",
"futures-lite",
]
[[package]]
@@ -24862,7 +24634,7 @@ dependencies = [
"either",
"event-listener 5.4.1",
"fnv",
"futures-lite 2.6.1",
"futures-lite",
"futures-util",
"hashbrown 0.15.5",
"hex",
@@ -24912,7 +24684,7 @@ dependencies = [
"event-listener 5.4.1",
"fnv",
"futures-channel",
"futures-lite 2.6.1",
"futures-lite",
"futures-util",
"hashbrown 0.15.5",
"hex",
@@ -25667,7 +25439,7 @@ version = "3.24.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "655da9c7eb6305c55742045d5a8d2037996d61d8de95806335c7c86ce0f82e9c"
dependencies = [
"fastrand 2.3.0",
"fastrand",
"getrandom 0.3.4",
"once_cell",
"rustix 1.1.3",
@@ -26192,16 +25964,6 @@ dependencies = [
"syn 2.0.114",
]
[[package]]
name = "tokio-native-tls"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2"
dependencies = [
"native-tls",
"tokio",
]
[[package]]
name = "tokio-retry"
version = "0.3.0"
@@ -26939,9 +26701,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
[[package]]
name = "uuid"
version = "1.19.0"
version = "1.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2e054861b4bd027cd373e18e8d8d8e6548085000e41290d95ce0c373a654b4a"
checksum = "ee48d38b119b0cd71fe4141b30f5ba9c7c5d9f4e7a3a8b4a674e4b6ef789976f"
dependencies = [
"getrandom 0.3.4",
"js-sys",
@@ -27105,12 +26867,6 @@ dependencies = [
"libc",
]
[[package]]
name = "waker-fn"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "317211a0dc0ceedd78fb2ca9a44aed3d7b9b26f81870d485c07122b4350673b7"
[[package]]
name = "walkdir"
version = "2.5.0"
@@ -27902,17 +27658,6 @@ version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
[[package]]
name = "windows-registry"
version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720"
dependencies = [
"windows-link",
"windows-result 0.4.1",
"windows-strings",
]
[[package]]
name = "windows-result"
version = "0.1.2"
+3 -2
View File
@@ -850,7 +850,7 @@ integer-sqrt = { version = "0.1.2" }
ip_network = { version = "0.4.1" }
is-terminal = { version = "0.4.9" }
is_executable = { version = "1.0.1" }
isahc = { version = "1.2" }
# isahc removed - replaced with reqwest (rustls-tls) to eliminate OpenSSL dependency
itertools = { version = "0.11" }
jobserver = { version = "0.1.26" }
js-sys = { version = "0.3.70" }
@@ -1448,7 +1448,8 @@ regex = { version = "1.10.2" }
relay-bizinikiwi-client = { version = "0.1.0", path = "pezbridges/relays/client-bizinikiwi" }
relay-utils = { version = "0.1.0", path = "pezbridges/relays/utils" }
remote-externalities = { path = "bizinikiwi/utils/pezframe/remote-externalities", version = "0.35.0", default-features = false, package = "pezframe-remote-externalities" }
reqwest = { version = "0.12.9" }
# Using rustls-tls for pure Rust TLS - no OpenSSL dependency
reqwest = { version = "0.12.9", default-features = false, features = ["rustls-tls", "json"] }
revm = { version = "27.0.2", default-features = false }
ripemd = { version = "0.1.3", default-features = false }
rlp = { version = "0.6.1", default-features = false }
+2 -1
View File
@@ -19,7 +19,8 @@ async-std = { workspace = true }
async-trait = { workspace = true }
backoff = { workspace = true }
futures = { workspace = true }
isahc = { workspace = true }
# Using reqwest with rustls-tls for pure Rust TLS (no OpenSSL dependency)
reqwest = { workspace = true }
jsonpath_lib = { workspace = true }
num-traits = { workspace = true, default-features = true }
parking_lot = { workspace = true, default-features = true }
@@ -65,10 +65,14 @@ impl FloatJsonValueMetric {
/// Request value from HTTP service.
async fn request_value(&self) -> anyhow::Result<String> {
use isahc::{AsyncReadResponseExt, HttpClient, Request};
let request = Request::get(&self.url).header("Accept", "application/json").body(())?;
let raw_response = HttpClient::new()?.send_async(request).await?.text().await?;
let client = reqwest::Client::new();
let raw_response = client
.get(&self.url)
.header("Accept", "application/json")
.send()
.await?
.text()
.await?;
Ok(raw_response)
}