diff options
author | Matthias Beyer <matthias.beyer@atos.net> | 2021-07-27 16:37:43 +0200 |
---|---|---|
committer | Matthias Beyer <matthias.beyer@atos.net> | 2021-07-27 16:37:43 +0200 |
commit | fdd75f7ae660441db47733bac200cea4a99ba4fe (patch) | |
tree | ce58ac0c20cefe628f3a8f1fa0d0d12828fccffd | |
parent | 76375ea75f7e782eaa326f63cae079847e1d5efb (diff) | |
parent | d2cc4a734a808afc4a2fc0f8661d65090e8ccffb (diff) |
Merge branch 'download-redirect-follow'
-rw-r--r-- | src/commands/source.rs | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/commands/source.rs b/src/commands/source.rs index 36cf352..3ad7f5d 100644 --- a/src/commands/source.rs +++ b/src/commands/source.rs @@ -224,7 +224,16 @@ pub async fn download( })?; let mut file = tokio::io::BufWriter::new(file); - let response = match reqwest::get(source.url().as_ref()).await { + let client = reqwest::Client::builder() + .redirect(reqwest::redirect::Policy::limited(10)) + .build() + .context("Building HTTP client failed")?; + + let request = client.get(source.url().as_ref()) + .build() + .with_context(|| anyhow!("Building request for {} failed", source.url().as_ref()))?; + + let response = match client.execute(request).await { Ok(resp) => resp, Err(e) => { bar.finish_with_message(format!("Failed: {}", source.url())); |