Add more context on resolve client error (#8285)

I'm not clear where #8144 comes from, so I'm adding some more error
context to narrow it down.
This commit is contained in:
konsti 2024-10-17 14:22:09 +02:00 committed by GitHub
parent e0a2bc92cd
commit 7eed0bcd23
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 5 additions and 3 deletions

View file

@ -56,6 +56,7 @@ impl Error {
match &*self.kind { match &*self.kind {
// The server doesn't support range requests (as reported by the `HEAD` check). // The server doesn't support range requests (as reported by the `HEAD` check).
ErrorKind::AsyncHttpRangeReader( ErrorKind::AsyncHttpRangeReader(
_,
AsyncHttpRangeReaderError::HttpRangeRequestUnsupported, AsyncHttpRangeReaderError::HttpRangeRequestUnsupported,
) => { ) => {
return true; return true;
@ -63,6 +64,7 @@ impl Error {
// The server doesn't support range requests (it doesn't return the necessary headers). // The server doesn't support range requests (it doesn't return the necessary headers).
ErrorKind::AsyncHttpRangeReader( ErrorKind::AsyncHttpRangeReader(
_,
AsyncHttpRangeReaderError::ContentLengthMissing AsyncHttpRangeReaderError::ContentLengthMissing
| AsyncHttpRangeReaderError::ContentRangeMissing, | AsyncHttpRangeReaderError::ContentRangeMissing,
) => { ) => {
@ -187,8 +189,8 @@ pub enum ErrorKind {
#[error("Received some unexpected HTML from {url}")] #[error("Received some unexpected HTML from {url}")]
BadHtml { source: html::Error, url: Url }, BadHtml { source: html::Error, url: Url },
#[error(transparent)] #[error("Failed to read zip with range requests: `{0}`")]
AsyncHttpRangeReader(#[from] AsyncHttpRangeReaderError), AsyncHttpRangeReader(Url, #[source] AsyncHttpRangeReaderError),
#[error("{0} is not a valid wheel filename")] #[error("{0} is not a valid wheel filename")]
WheelFilename(#[source] WheelFilenameError), WheelFilename(#[source] WheelFilenameError),

View file

@ -635,7 +635,7 @@ impl RegistryClient {
headers, headers,
) )
.await .await
.map_err(ErrorKind::AsyncHttpRangeReader)?; .map_err(|err| ErrorKind::AsyncHttpRangeReader(url.clone(), err))?;
trace!("Getting metadata for {filename} by range request"); trace!("Getting metadata for {filename} by range request");
let text = wheel_metadata_from_remote_zip(filename, url, &mut reader).await?; let text = wheel_metadata_from_remote_zip(filename, url, &mut reader).await?;
let metadata = let metadata =