From b7c3692316fe8535fa8344b960e02d619dda2b60 Mon Sep 17 00:00:00 2001 From: konstin Date: Thu, 17 Oct 2024 12:44:31 +0200 Subject: [PATCH] Add more context on resolve client error I'm not clear where #8144 comes from, so I'm adding some more error context to narrow it down. --- crates/uv-client/src/error.rs | 6 ++++-- crates/uv-client/src/registry_client.rs | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/crates/uv-client/src/error.rs b/crates/uv-client/src/error.rs index 730223534d69..cded0db494b7 100644 --- a/crates/uv-client/src/error.rs +++ b/crates/uv-client/src/error.rs @@ -56,6 +56,7 @@ impl Error { match &*self.kind { // The server doesn't support range requests (as reported by the `HEAD` check). ErrorKind::AsyncHttpRangeReader( + _, AsyncHttpRangeReaderError::HttpRangeRequestUnsupported, ) => { return true; @@ -63,6 +64,7 @@ impl Error { // The server doesn't support range requests (it doesn't return the necessary headers). ErrorKind::AsyncHttpRangeReader( + _, AsyncHttpRangeReaderError::ContentLengthMissing | AsyncHttpRangeReaderError::ContentRangeMissing, ) => { @@ -187,8 +189,8 @@ pub enum ErrorKind { #[error("Received some unexpected HTML from {url}")] BadHtml { source: html::Error, url: Url }, - #[error(transparent)] - AsyncHttpRangeReader(#[from] AsyncHttpRangeReaderError), + #[error("Failed to read zip with range requests: `{0}`")] + AsyncHttpRangeReader(Url, #[source] AsyncHttpRangeReaderError), #[error("{0} is not a valid wheel filename")] WheelFilename(#[source] WheelFilenameError), diff --git a/crates/uv-client/src/registry_client.rs b/crates/uv-client/src/registry_client.rs index 8708646c406a..2930201ceefc 100644 --- a/crates/uv-client/src/registry_client.rs +++ b/crates/uv-client/src/registry_client.rs @@ -635,7 +635,7 @@ impl RegistryClient { headers, ) .await - .map_err(ErrorKind::AsyncHttpRangeReader)?; + .map_err(|err| ErrorKind::AsyncHttpRangeReader(url.clone(), err))?; trace!("Getting metadata for {filename} by range request"); let text = wheel_metadata_from_remote_zip(filename, url, &mut reader).await?; let metadata =