From 3341c50b6ae676cdc8f7b1c44221aa633f2bde68 Mon Sep 17 00:00:00 2001 From: David Sherret Date: Mon, 3 Jun 2024 17:17:08 -0400 Subject: refactor: don't share `reqwest::HttpClient` across tokio runtimes (#24092) This also fixes several issues where we weren't properly creating http clients with the user's settings. --- cli/standalone/binary.rs | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'cli/standalone/binary.rs') diff --git a/cli/standalone/binary.rs b/cli/standalone/binary.rs index 042d3c3c6..00b8d19f3 100644 --- a/cli/standalone/binary.rs +++ b/cli/standalone/binary.rs @@ -40,7 +40,7 @@ use crate::args::PermissionFlags; use crate::args::UnstableConfig; use crate::cache::DenoDir; use crate::file_fetcher::FileFetcher; -use crate::http_util::HttpClient; +use crate::http_util::HttpClientProvider; use crate::npm::CliNpmResolver; use crate::npm::InnerCliNpmResolverRef; use crate::util::progress_bar::ProgressBar; @@ -417,9 +417,9 @@ pub fn unpack_into_dir( Ok(exe_path) } pub struct DenoCompileBinaryWriter<'a> { - file_fetcher: &'a FileFetcher, - client: &'a HttpClient, deno_dir: &'a DenoDir, + file_fetcher: &'a FileFetcher, + http_client_provider: &'a HttpClientProvider, npm_resolver: &'a dyn CliNpmResolver, npm_system_info: NpmSystemInfo, package_json_deps_provider: &'a PackageJsonDepsProvider, @@ -428,17 +428,17 @@ pub struct DenoCompileBinaryWriter<'a> { impl<'a> DenoCompileBinaryWriter<'a> { #[allow(clippy::too_many_arguments)] pub fn new( - file_fetcher: &'a FileFetcher, - client: &'a HttpClient, deno_dir: &'a DenoDir, + file_fetcher: &'a FileFetcher, + http_client_provider: &'a HttpClientProvider, npm_resolver: &'a dyn CliNpmResolver, npm_system_info: NpmSystemInfo, package_json_deps_provider: &'a PackageJsonDepsProvider, ) -> Self { Self { - file_fetcher, - client, deno_dir, + file_fetcher, + http_client_provider, npm_resolver, npm_system_info, package_json_deps_provider, @@ -536,7 +536,8 @@ impl<'a> DenoCompileBinaryWriter<'a> { let progress = progress_bars.update(&download_url); self - .client + .http_client_provider + .get_or_create()? .download_with_progress(download_url, None, &progress) .await? }; -- cgit v1.2.3