From 639a4cde2bcbb7020ab542698d38af57e1e9dc2b Mon Sep 17 00:00:00 2001 From: Betty Da Date: Mon, 12 Jul 2021 11:20:35 -0400 Subject: [PATCH] improve nesting --- .../symbolicator/src/services/download/mod.rs | 44 +++++++------------ 1 file changed, 17 insertions(+), 27 deletions(-) diff --git a/crates/symbolicator/src/services/download/mod.rs b/crates/symbolicator/src/services/download/mod.rs index 4d7baafcf..19dbba08b 100644 --- a/crates/symbolicator/src/services/download/mod.rs +++ b/crates/symbolicator/src/services/download/mod.rs @@ -99,36 +99,26 @@ impl DownloadService { source: RemoteDif, destination: PathBuf, ) -> Result { - let result = match &source { - RemoteDif::Sentry(inner) => { - future_utils::retry(|| { + let result = future_utils::retry(|| async { + let destination = destination.clone(); + match &source { + RemoteDif::Sentry(inner) => { self.sentry - .download_source(inner.clone(), destination.clone()) - }) - .await - } - RemoteDif::Http(inner) => { - future_utils::retry(|| { - self.http - .download_source(inner.clone(), destination.clone()) - }) - .await - } - RemoteDif::S3(inner) => { - future_utils::retry(|| self.s3.download_source(inner.clone(), destination.clone())) - .await - } - RemoteDif::Gcs(inner) => { - future_utils::retry(|| self.gcs.download_source(inner.clone(), destination.clone())) - .await - } - RemoteDif::Filesystem(inner) => { - future_utils::retry(|| self.fs.download_source(inner.clone(), destination.clone())) - .await + .download_source(inner.clone(), destination) + .await + } + RemoteDif::Http(inner) => { + self.http.download_source(inner.clone(), destination).await + } + RemoteDif::S3(inner) => self.s3.download_source(inner.clone(), destination).await, + RemoteDif::Gcs(inner) => self.gcs.download_source(inner.clone(), destination).await, + RemoteDif::Filesystem(inner) => { + self.fs.download_source(inner.clone(), destination).await + } } - }; + }); - match result { + match result.await { Ok(DownloadStatus::NotFound) => { log::debug!( "Did not fetch debug file from {:?}: {:?}",