From e34275b85907b060e834461a4f253460226177ab Mon Sep 17 00:00:00 2001 From: Felix Ableitner Date: Wed, 6 Mar 2024 15:50:49 +0100 Subject: [PATCH] Fix request_counter check because fetch_add returns original value --- src/fetch/mod.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/fetch/mod.rs b/src/fetch/mod.rs index fbbe6b7..13ea16c 100644 --- a/src/fetch/mod.rs +++ b/src/fetch/mod.rs @@ -89,7 +89,9 @@ async fn fetch_object_http_with_accept( config.verify_url_valid(url).await?; info!("Fetching remote object {}", url.to_string()); - let counter = data.request_counter.fetch_add(1, Ordering::SeqCst); + let mut counter = data.request_counter.fetch_add(1, Ordering::SeqCst); + // fetch_add returns old value so we need to increment manually here + counter += 1; if counter > config.http_fetch_limit { return Err(Error::RequestLimit); }