Skip to content

Commit 23477b8

Browse files
committed
refactor(backoff): chain if-let statements when parsing retry-after header key, closes #33
1 parent 64546aa commit 23477b8

File tree

1 file changed

+8
-12
lines changed

1 file changed

+8
-12
lines changed

src/lib.rs

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -33,18 +33,14 @@ pub async fn call_api(app_client: &Client, endpoint: &Url) -> Result<String, req
3333
Ok(resp)
3434
if resp.headers().contains_key("retry-after") && retries < RETRY_SCALE.len() =>
3535
{
36-
if let Some(retry_after) = resp.headers().get(RETRY_AFTER) {
37-
if let Ok(retry_after) = retry_after.to_str() {
38-
if let Ok(retry_after) = retry_after.parse::<u64>() {
39-
if retry_after < 233 {
40-
let backoff = Duration::from_secs(retry_after + 1);
41-
println!(
42-
"Got a retry-after response, sleeping {backoff:?} seconds"
43-
);
44-
sleep(backoff).await;
45-
}
46-
}
47-
}
36+
if let Some(retry_after) = resp.headers().get(RETRY_AFTER)
37+
&& let Ok(retry_after) = retry_after.to_str()
38+
&& let Ok(retry_after) = retry_after.parse::<u64>()
39+
&& retry_after < 233
40+
{
41+
let backoff = Duration::from_secs(retry_after + 1);
42+
println!("Got a retry-after response, sleeping {backoff:?} seconds");
43+
sleep(backoff).await;
4844
}
4945
retries += 1;
5046
}

0 commit comments

Comments
 (0)