8000 [RateLimiter] Add `SlidingWindowLimiter::reserve()` · symfony/symfony-docs@bbd92c9 · GitHub
[go: up one dir, main page]

Skip to content
8000

Commit bbd92c9

Browse files
[RateLimiter] Add SlidingWindowLimiter::reserve()
1 parent bde97b5 commit bbd92c9

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

rate_limiter.rst

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -320,6 +320,11 @@ processes by reserving unused tokens.
320320
$limit->wait();
321321
} while (!$limit->isAccepted());
322322

8000
323+
.. versionadded:: 6.4
324+
325+
The support for the ``reserve()`` method for the ``SlidingWindow`` strategy
326+
was introduced in Symfony 6.4.
327+
323328
Exposing the Rate Limiter Status
324329
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
325330

@@ -348,7 +353,7 @@ the :class:`Symfony\\Component\\RateLimiter\\Reservation` object returned by the
348353
$limit = $limiter->consume();
349354
$headers = [
350355
'X-RateLimit-Remaining' => $limit->getRemainingTokens(),
351-
'X-RateLimit-Retry-After' => $limit->getRetryAfter()->getTimestamp(),
356+
'X-RateLimit-Retry-After' => $limit->calculateTimeForTokens(1, 1),
352357
'X-RateLimit-Limit' => $limit->getLimit(),
353358
];
354359

@@ -365,6 +370,13 @@ the :class:`Symfony\\Component\\RateLimiter\\Reservation` object returned by the
365370
}
366371
}
367372

373+
.. versionadded:: 6.4
374+
375+
The :method:`Symfony\\Component\\RateLimiter\\Policy\\SlidingWindow::calculateTimeForTokens`
376+
method was introduced in Symfony 6.4. Prior to this, the now deprecated
377+
:method:`Symfony\\Component\\RateLimiter\\Policy\\SlidingWindow::getRetryAfter`
378+
method must be used.
379+
368380
.. _rate-limiter-storage:
369381

370382
Storing Rate Limiter State

0 commit comments

Comments
 (0)
0