aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/client/http/ratelimiting.rs11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/client/http/ratelimiting.rs b/src/client/http/ratelimiting.rs
index 01e031a..6e3066d 100644
--- a/src/client/http/ratelimiting.rs
+++ b/src/client/http/ratelimiting.rs
@@ -172,7 +172,16 @@ impl RateLimit {
return;
}
- let diff = (self.reset - time::get_time().sec) as u64;
+ let current_time = time::get_time().sec;
+
+ // The reset was in the past, so we're probably good.
+ if current_time > self.reset {
+ self.remaining = self.limit;
+
+ return;
+ }
+
+ let diff = (self.reset - current_time) as u64;
if self.remaining == 0 {
let delay = (diff * 1000) + 500;