From 6cd9023dffe7f27fcbca6515ff2a979c2c1eb760 Mon Sep 17 00:00:00 2001 From: John Mumm Date: Mon, 30 Jun 2025 13:15:50 +0200 Subject: [PATCH] Add trailing slash if missing to find-links URL --- crates/uv-client/src/flat_index.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/crates/uv-client/src/flat_index.rs b/crates/uv-client/src/flat_index.rs index 91668c5c4..1d4e24ca0 100644 --- a/crates/uv-client/src/flat_index.rs +++ b/crates/uv-client/src/flat_index.rs @@ -162,6 +162,14 @@ impl<'a> FlatIndexClient<'a> { url: &DisplaySafeUrl, flat_index: &IndexUrl, ) -> Result { + let mut url = url.clone(); + url.path_segments_mut() + .map_err(|()| ErrorKind::CannotBeABase(flat_index.url().clone()))? + .pop_if_empty() + // Add a trailing slash to avoid redirect, which is not supported + // by some private registries. + .push(""); + let cache_entry = self.cache.entry( CacheBucket::FlatIndex, "html", @@ -179,7 +187,7 @@ impl<'a> FlatIndexClient<'a> { let flat_index_request = self .client .uncached() - .for_host(url) + .for_host(&url) .get(Url::from(url.clone())) .header("Accept-Encoding", "gzip") .header("Accept", "text/html")