From f6fb33955b63bdf17431e5cfafe51408b19a1141 Mon Sep 17 00:00:00 2001 From: andyexeter Date: Mon, 12 Oct 2020 17:51:22 +0100 Subject: [PATCH] Use Retry-After header as value to sleep for before retrying request --- lib/CurlRequest.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/CurlRequest.php b/lib/CurlRequest.php index 73567e1..25df584 100644 --- a/lib/CurlRequest.php +++ b/lib/CurlRequest.php @@ -166,7 +166,13 @@ protected static function processRequest($ch) throw new ResourceRateLimitException($response->getBody()); } - usleep(500000); + $retryAfter = $response->getHeader('Retry-After'); + + if ($retryAfter === null) { + break; + } + + sleep((float)$retryAfter); } if (curl_errno($ch)) {