This commit is contained in:
team3
2026-06-03 22:05:20 +02:00
parent d7e8df6876
commit 40de56c27b
5119 changed files with 552560 additions and 24 deletions

View File

@@ -0,0 +1,19 @@
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\RateLimiter\Exception;
/**
* @author Tobias Nyholm <tobias.nyholm@gmail.com>
*/
class InvalidIntervalException extends \LogicException
{
}

View File

@@ -0,0 +1,34 @@
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\RateLimiter\Exception;
use Symfony\Component\RateLimiter\RateLimit;
/**
* @author Wouter de Jong <wouter@wouterj.nl>
*/
class MaxWaitDurationExceededException extends \RuntimeException
{
private RateLimit $rateLimit;
public function __construct(string $message, RateLimit $rateLimit, int $code = 0, ?\Throwable $previous = null)
{
parent::__construct($message, $code, $previous);
$this->rateLimit = $rateLimit;
}
public function getRateLimit(): RateLimit
{
return $this->rateLimit;
}
}

View File

@@ -0,0 +1,49 @@
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\RateLimiter\Exception;
use Symfony\Component\RateLimiter\RateLimit;
/**
* @author Kevin Bond <kevinbond@gmail.com>
*/
class RateLimitExceededException extends \RuntimeException
{
private RateLimit $rateLimit;
public function __construct(RateLimit $rateLimit, int $code = 0, ?\Throwable $previous = null)
{
parent::__construct('Rate Limit Exceeded', $code, $previous);
$this->rateLimit = $rateLimit;
}
public function getRateLimit(): RateLimit
{
return $this->rateLimit;
}
public function getRetryAfter(): \DateTimeImmutable
{
return $this->rateLimit->getRetryAfter();
}
public function getRemainingTokens(): int
{
return $this->rateLimit->getRemainingTokens();
}
public function getLimit(): int
{
return $this->rateLimit->getLimit();
}
}

View File

@@ -0,0 +1,23 @@
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\RateLimiter\Exception;
/**
* @author Wouter de Jong <wouter@wouterj.nl>
*/
class ReserveNotSupportedException extends \BadMethodCallException
{
public function __construct(string $limiterClass, int $code = 0, ?\Throwable $previous = null)
{
parent::__construct(\sprintf('Reserving tokens is not supported by "%s".', $limiterClass), $code, $previous);
}
}