Skip to content

Commit 997e0b0

Browse files
committed
enable proxies for uv
1 parent 33a4fc5 commit 997e0b0

File tree

3 files changed

+29
-22
lines changed

3 files changed

+29
-22
lines changed

src/install_pypi/mod.rs

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -78,16 +78,18 @@ pub async fn update_python_distributions(
7878
.into_diagnostic()?;
7979
let build_options = no_build_to_build_options(no_build).into_diagnostic()?;
8080

81-
// TODO: enable proxy for uv registry_client
82-
let registry_client = Arc::new(
83-
RegistryClientBuilder::new(uv_context.cache.clone())
84-
.allow_insecure_host(uv_context.allow_insecure_host.clone())
85-
.index_urls(index_locations.index_urls())
86-
.keyring(uv_context.keyring_provider)
87-
.connectivity(Connectivity::Online)
88-
.extra_middleware(uv_context.extra_middleware.clone())
89-
.build(),
90-
);
81+
let mut uv_client_builder = RegistryClientBuilder::new(uv_context.cache.clone())
82+
.allow_insecure_host(uv_context.allow_insecure_host.clone())
83+
.index_urls(index_locations.index_urls())
84+
.keyring(uv_context.keyring_provider)
85+
.connectivity(Connectivity::Online)
86+
.extra_middleware(uv_context.extra_middleware.clone());
87+
88+
for p in &uv_context.proxies {
89+
uv_client_builder = uv_client_builder.proxy(p.clone())
90+
}
91+
92+
let registry_client = Arc::new(uv_client_builder.build());
9193

9294
// Resolve the flat indexes from `--find-links`.
9395
let flat_index = {

src/lock_file/resolve/pypi.rs

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -282,19 +282,22 @@ pub async fn resolve_pypi(
282282
pypi_options_to_index_locations(pypi_options, project_root).into_diagnostic()?;
283283

284284
// TODO: create a cached registry client per index_url set?
285-
// TODO: enable proxy for uv registry_client
286285
let index_strategy = to_index_strategy(pypi_options.index_strategy.as_ref());
287-
let registry_client = Arc::new(
288-
RegistryClientBuilder::new(context.cache.clone())
289-
.allow_insecure_host(context.allow_insecure_host.clone())
290-
.index_urls(index_locations.index_urls())
291-
.index_strategy(index_strategy)
292-
.markers(&marker_environment)
293-
.keyring(context.keyring_provider)
294-
.connectivity(Connectivity::Online)
295-
.extra_middleware(context.extra_middleware.clone())
296-
.build(),
297-
);
286+
let mut uv_client_builder = RegistryClientBuilder::new(context.cache.clone())
287+
.allow_insecure_host(context.allow_insecure_host.clone())
288+
.index_urls(index_locations.index_urls())
289+
.index_strategy(index_strategy)
290+
.markers(&marker_environment)
291+
.keyring(context.keyring_provider)
292+
.connectivity(Connectivity::Online)
293+
.extra_middleware(context.extra_middleware.clone());
294+
295+
for p in &context.proxies {
296+
uv_client_builder = uv_client_builder.proxy(p.clone())
297+
}
298+
299+
let registry_client = Arc::new(uv_client_builder.build());
300+
298301
let build_options =
299302
no_build_to_build_options(&pypi_options.no_build.clone().unwrap_or_default())
300303
.into_diagnostic()?;

src/lock_file/resolve/uv_resolution_context.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ pub struct UvResolutionContext {
2525
pub allow_insecure_host: Vec<TrustedHost>,
2626
pub shared_state: SharedState,
2727
pub extra_middleware: ExtraMiddleware,
28+
pub proxies: Vec<reqwest::Proxy>,
2829
}
2930

3031
impl UvResolutionContext {
@@ -75,6 +76,7 @@ impl UvResolutionContext {
7576
allow_insecure_host,
7677
shared_state: SharedState::default(),
7778
extra_middleware: ExtraMiddleware(uv_middlewares(project.config())),
79+
proxies: project.config().get_proxies().into_diagnostic()?,
7880
})
7981
}
8082

0 commit comments

Comments
 (0)