diff --git a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php index f5111cd1096f9..2dd6ed95ee808 100644 --- a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php +++ b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php @@ -3255,6 +3255,8 @@ private function registerRateLimiterConfiguration(array $config, ContainerBuilde continue; } + unset($limiterConfig['limiters']); + $limiters[] = $name; // default configuration (when used by other DI extensions) diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/PhpFrameworkExtensionTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/PhpFrameworkExtensionTest.php index a7606b683a85f..60a1765f7c964 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/PhpFrameworkExtensionTest.php +++ b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/PhpFrameworkExtensionTest.php @@ -314,6 +314,19 @@ public function testRateLimiterCompoundPolicy() ]); }); + $this->assertSame([ + 'policy' => 'fixed_window', + 'limit' => 10, + 'interval' => '1 hour', + 'id' => 'first', + ], $container->getDefinition('limiter.first')->getArgument(0)); + $this->assertSame([ + 'policy' => 'sliding_window', + 'limit' => 10, + 'interval' => '1 hour', + 'id' => 'second', + ], $container->getDefinition('limiter.second')->getArgument(0)); + $definition = $container->getDefinition('limiter.compound'); $this->assertSame(CompoundRateLimiterFactory::class, $definition->getClass()); $this->assertEquals(