diff --git a/crates/uv-client/src/base_client.rs b/crates/uv-client/src/base_client.rs index 17ea61302..371575819 100644 --- a/crates/uv-client/src/base_client.rs +++ b/crates/uv-client/src/base_client.rs @@ -497,6 +497,7 @@ pub fn is_extended_transient_error(err: &dyn Error) -> bool { for io_err in find_sources::(&err) { if io_err.kind() == io::ErrorKind::ConnectionReset || io_err.kind() == io::ErrorKind::UnexpectedEof + || io_err.kind() == io::ErrorKind::BrokenPipe { trace!("Retrying error: `ConnectionReset` or `UnexpectedEof`"); return true; diff --git a/crates/uv-client/src/cached_client.rs b/crates/uv-client/src/cached_client.rs index 3ee9e1cfc..e23b39415 100644 --- a/crates/uv-client/src/cached_client.rs +++ b/crates/uv-client/src/cached_client.rs @@ -623,8 +623,7 @@ impl CachedClient { .await; if result .as_ref() - .err() - .is_some_and(|err| is_extended_transient_error(err)) + .is_err_and(|err| is_extended_transient_error(err)) { let retry_decision = retry_policy.should_retry(start_time, n_past_retries); if let reqwest_retry::RetryDecision::Retry { execute_after } = retry_decision {