function AbstractRequestRateLimiter::getMinimalRateLimit
1 call to AbstractRequestRateLimiter::getMinimalRateLimit()
- AbstractRequestRateLimiter::doConsume in vendor/
symfony/ http-foundation/ RateLimiter/ AbstractRequestRateLimiter.php
File
-
vendor/
symfony/ http-foundation/ RateLimiter/ AbstractRequestRateLimiter.php, line 66
Class
- AbstractRequestRateLimiter
- An implementation of PeekableRequestRateLimiterInterface that fits most use-cases.
Namespace
Symfony\Component\HttpFoundation\RateLimiterCode
private static function getMinimalRateLimit(RateLimit $first, RateLimit $second) : RateLimit {
if ($first->isAccepted() !== $second->isAccepted()) {
return $first->isAccepted() ? $second : $first;
}
$firstRemainingTokens = $first->getRemainingTokens();
$secondRemainingTokens = $second->getRemainingTokens();
if ($firstRemainingTokens === $secondRemainingTokens) {
return $first->getRetryAfter() < $second->getRetryAfter() ? $second : $first;
}
return $firstRemainingTokens > $secondRemainingTokens ? $second : $first;
}