chore: Extract http-client-tls crate (#26895)
http-client pulled in rustls which in turn meant that gpui depended on rustls/aws-lc-sys. This commit extracts http-client-tls crate to separate the http-client and tls dependencies. Closes #ISSUE Release Notes: - N/A
This commit is contained in:
parent
d5bb12631a
commit
8f560daec2
11 changed files with 59 additions and 26 deletions
20
crates/http_client_tls/Cargo.toml
Normal file
20
crates/http_client_tls/Cargo.toml
Normal file
|
@ -0,0 +1,20 @@
|
|||
[package]
|
||||
name = "http_client_tls"
|
||||
version = "0.1.0"
|
||||
edition.workspace = true
|
||||
publish.workspace = true
|
||||
license = "Apache-2.0"
|
||||
|
||||
[lints]
|
||||
workspace = true
|
||||
|
||||
[features]
|
||||
test-support = []
|
||||
|
||||
[lib]
|
||||
path = "src/http_client_tls.rs"
|
||||
doctest = true
|
||||
|
||||
[dependencies]
|
||||
rustls.workspace = true
|
||||
rustls-platform-verifier.workspace = true
|
1
crates/http_client_tls/LICENSE-APACHE
Symbolic link
1
crates/http_client_tls/LICENSE-APACHE
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../LICENSE-APACHE
|
21
crates/http_client_tls/src/http_client_tls.rs
Normal file
21
crates/http_client_tls/src/http_client_tls.rs
Normal file
|
@ -0,0 +1,21 @@
|
|||
use std::sync::OnceLock;
|
||||
|
||||
use rustls::ClientConfig;
|
||||
use rustls_platform_verifier::ConfigVerifierExt;
|
||||
|
||||
static TLS_CONFIG: OnceLock<rustls::ClientConfig> = OnceLock::new();
|
||||
|
||||
pub fn tls_config() -> ClientConfig {
|
||||
TLS_CONFIG
|
||||
.get_or_init(|| {
|
||||
// rustls uses the `aws_lc_rs` provider by default
|
||||
// This only errors if the default provider has already
|
||||
// been installed. We can ignore this `Result`.
|
||||
rustls::crypto::aws_lc_rs::default_provider()
|
||||
.install_default()
|
||||
.ok();
|
||||
|
||||
ClientConfig::with_platform_verifier()
|
||||
})
|
||||
.clone()
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue