From 4d7ab842ccbe9a88b4021adac45110a56a47e042 Mon Sep 17 00:00:00 2001 From: Nathan Salter Date: Sat, 11 Jun 2022 09:31:02 +0100 Subject: [PATCH] [RateLimiter] Add RateLimitFactoryInterface Adds an interface for the `RateLimitFactory` to allow alternative integrations or use in unit tests. See Issue #46644 --- src/Symfony/Component/RateLimiter/CHANGELOG.md | 3 +++ .../RateLimiter/RateLimiterFactory.php | 2 +- .../RateLimiter/RateLimiterFactoryInterface.php | 17 +++++++++++++++++ 3 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 src/Symfony/Component/RateLimiter/RateLimiterFactoryInterface.php diff --git a/src/Symfony/Component/RateLimiter/CHANGELOG.md b/src/Symfony/Component/RateLimiter/CHANGELOG.md index 2b0bf39ed909a..111c6ee1625e1 100644 --- a/src/Symfony/Component/RateLimiter/CHANGELOG.md +++ b/src/Symfony/Component/RateLimiter/CHANGELOG.md @@ -1,5 +1,8 @@ CHANGELOG ========= +6.1 +--- + * Switch to use an Interface for the `RateLimiterFactory` 5.4 --- diff --git a/src/Symfony/Component/RateLimiter/RateLimiterFactory.php b/src/Symfony/Component/RateLimiter/RateLimiterFactory.php index fe5536ef11a67..eaca63b1fd594 100644 --- a/src/Symfony/Component/RateLimiter/RateLimiterFactory.php +++ b/src/Symfony/Component/RateLimiter/RateLimiterFactory.php @@ -25,7 +25,7 @@ /** * @author Wouter de Jong */ -final class RateLimiterFactory +final class RateLimiterFactory implements RateLimiterFactoryInterface { private array $config; private StorageInterface $storage; diff --git a/src/Symfony/Component/RateLimiter/RateLimiterFactoryInterface.php b/src/Symfony/Component/RateLimiter/RateLimiterFactoryInterface.php new file mode 100644 index 0000000000000..d32c3dcc446ba --- /dev/null +++ b/src/Symfony/Component/RateLimiter/RateLimiterFactoryInterface.php @@ -0,0 +1,17 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\RateLimiter; + +interface RateLimiterFactoryInterface +{ + public function create(string $key = null): LimiterInterface; +}