aboutsummaryrefslogtreecommitdiffstats
path: root/crates/turtle/src/atuin_common/tls.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/turtle/src/atuin_common/tls.rs')
-rw-r--r--crates/turtle/src/atuin_common/tls.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/crates/turtle/src/atuin_common/tls.rs b/crates/turtle/src/atuin_common/tls.rs
new file mode 100644
index 00000000..e8c840e0
--- /dev/null
+++ b/crates/turtle/src/atuin_common/tls.rs
@@ -0,0 +1,15 @@
+use std::sync::Once;
+
+static INIT: Once = Once::new();
+
+/// Ensure the rustls crypto provider (ring) is installed.
+///
+/// Must be called before creating any reqwest clients. Safe to call
+/// multiple times — only the first call installs the provider.
+pub fn ensure_crypto_provider() {
+ INIT.call_once(|| {
+ rustls::crypto::ring::default_provider()
+ .install_default()
+ .expect("Failed to install rustls crypto provider");
+ });
+}