diff --git a/crates/uv-client/src/error.rs b/crates/uv-client/src/error.rs index 730223534..cded0db49 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 8708646c4..2930201ce 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 =