diff --git a/Cargo.lock b/Cargo.lock index 18460ef1ea..f1f5b42fa4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4013,6 +4013,7 @@ dependencies = [ "env_logger", "extension", "fs", + "http 0.1.0", "language", "log", "rpc", diff --git a/crates/extension/src/extension_builder.rs b/crates/extension/src/extension_builder.rs index d20b885eb2..d1928b884d 100644 --- a/crates/extension/src/extension_builder.rs +++ b/crates/extension/src/extension_builder.rs @@ -64,10 +64,10 @@ struct CargoTomlPackage { } impl ExtensionBuilder { - pub fn new(cache_dir: PathBuf) -> Self { + pub fn new(http_client: Arc, cache_dir: PathBuf) -> Self { Self { cache_dir, - http: http::client(None), + http: http_client, } } diff --git a/crates/extension/src/extension_store.rs b/crates/extension/src/extension_store.rs index 7e08c8d327..882c79d803 100644 --- a/crates/extension/src/extension_store.rs +++ b/crates/extension/src/extension_store.rs @@ -243,7 +243,10 @@ impl ExtensionStore { extension_index: Default::default(), installed_dir, index_path, - builder: Arc::new(ExtensionBuilder::new(build_dir)), + builder: Arc::new(ExtensionBuilder::new( + http::client(http_client.proxy().cloned()), + build_dir, + )), outstanding_operations: Default::default(), modified_extensions: Default::default(), reload_complete_senders: Vec::new(), diff --git a/crates/extension_cli/Cargo.toml b/crates/extension_cli/Cargo.toml index e2094f20b3..6beb8f3408 100644 --- a/crates/extension_cli/Cargo.toml +++ b/crates/extension_cli/Cargo.toml @@ -16,8 +16,9 @@ path = "src/main.rs" anyhow.workspace = true clap = { workspace = true, features = ["derive"] } env_logger.workspace = true -fs.workspace = true extension = { workspace = true, features = ["no-webrtc"] } +fs.workspace = true +http.workspace = true language.workspace = true log.workspace = true rpc.workspace = true diff --git a/crates/extension_cli/src/main.rs b/crates/extension_cli/src/main.rs index 509e4514cd..11b79b8677 100644 --- a/crates/extension_cli/src/main.rs +++ b/crates/extension_cli/src/main.rs @@ -13,6 +13,7 @@ use extension::{ extension_builder::{CompileExtensionOptions, ExtensionBuilder}, ExtensionManifest, }; +use http::HttpClientWithProxy; use language::LanguageConfig; use theme::ThemeRegistry; use tree_sitter::{Language, Query, WasmStore}; @@ -58,7 +59,9 @@ async fn main() -> Result<()> { let mut manifest = ExtensionManifest::load(fs.clone(), &extension_path).await?; log::info!("compiling extension"); - let builder = ExtensionBuilder::new(scratch_dir); + + let http_client = Arc::new(HttpClientWithProxy::new(None)); + let builder = ExtensionBuilder::new(http_client, scratch_dir); builder .compile_extension( &extension_path,