Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. AbstractRequestRateLimiter.php

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\RateLimiter

Code

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;
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal