From eabefbf8a2e61c8c4b9020f15bdd3f8e366bc819 Mon Sep 17 00:00:00 2001 From: Charlie Marsh Date: Sun, 28 Apr 2024 10:06:43 -0400 Subject: [PATCH] Ignore 401 errors with multiple indexes (#3292) ## Summary It seems like Azure might return a 401 when you request a package that doesn't exist (even with valid credentials)? But I admittedly haven't tested this. (We already skip 403, and this seems similar?) Closes https://github.com/astral-sh/uv/issues/3291. --- crates/uv-client/src/registry_client.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/crates/uv-client/src/registry_client.rs b/crates/uv-client/src/registry_client.rs index 85861b773..0be77f786 100644 --- a/crates/uv-client/src/registry_client.rs +++ b/crates/uv-client/src/registry_client.rs @@ -221,7 +221,7 @@ impl RegistryClient { ) -> Result)>, Error> { let mut it = self.index_urls.indexes().peekable(); if it.peek().is_none() { - return Err(ErrorKind::NoIndex(package_name.as_ref().to_string()).into()); + return Err(ErrorKind::NoIndex(package_name.to_string()).into()); } let mut results = Vec::new(); @@ -239,6 +239,7 @@ impl RegistryClient { ErrorKind::Offline(_) => continue, ErrorKind::ReqwestError(err) => { if err.status() == Some(StatusCode::NOT_FOUND) + || err.status() == Some(StatusCode::UNAUTHORIZED) || err.status() == Some(StatusCode::FORBIDDEN) { continue;