8000 Uses the `middlewares.validation` configuration to toggle the default… · symfony/symfony@39389f0 · GitHub
[go: up one dir, main page]

Skip to content

Commit 39389f0

Browse files
committed
Uses the middlewares.validation configuration to toggle the default validation middleware
1 parent 8d16cda commit 39389f0

File tree

3 files changed

+16
-14
lines changed

3 files changed

+16
-14
lines changed

src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1471,7 +1471,16 @@ private function registerMessengerConfiguration(array $config, ContainerBuilder
14711471
$config['default_bus'] = array_keys($config['buses'])[0];
14721472
}
14731473

1474-
$defaultMiddlewares = array('before' => array('logging', 'validation'), 'after' => array('route_messages', 'call_message_handler'));
1474+
$defaultMiddlewares = array('before' => array('logging'), 'after' => array('route_messages', 'call_message_handler'));
1475+
if ($config['middlewares']['validation']['enabled']) {
1476+
if (!$container->has('validator')) {
1477+
throw new LogicException('The Validation middleware is only available when the Validator component is installed and enabled. Try running "composer require symfony/validator".');
1478+
}
1479+
1480+
$defaultMiddlewares['before'][] = 'validation';
1481+
} else {
1482+
$container->removeDefinition('messenger.middleware.validation');
1483+
}
14751484

14761485
foreach ($config['buses'] as $name => $bus) {
14771486
$busId = 'messenger.bus.'.$name;
@@ -1502,14 +1511,6 @@ private function registerMessengerConfiguration(array $config, ContainerBuilder
15021511

15031512
$container->getDefinition('messenger.asynchronous.routing.sender_locator')->replaceArgument(1, $messageToSenderIdsMapping);
15041513

1505-
if ($config['middlewares']['validation']['enabled']) {
1506-
if (!$container->has('validator')) {
1507-
throw new LogicException('The Validation middleware is only available when the Validator component is installed and enabled. Try running "composer require symfony/validator".');
1508-
}
1509-
} else {
1510-
$container->removeDefinition('messenger.middleware.validator');
1511-
}
1512-
15131514
foreach ($config['adapters'] as $name => $adapter) {
15141515
$container->setDefinition('messenger.sender.'.$name, (new Definition(SenderInterface::class))->setFactory(array(
15151516
new Reference('messenger.adapter_factory'),

src/Symfony/Bundle/FrameworkBundle/Resources/config/messenger.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
<argument type="service" id="messenger.handler_resolver" />
3535
</service>
3636

37-
<service id="messenger.middleware.validator" class="Symfony\Component\Messenger\Middleware\ValidationMiddleware" abstract="true">
37+
<service id="messenger.middleware.validation" class="Symfony\Component\Messenger\Middleware\ValidationMiddleware" abstract="true">
3838
<argument type="service" id="validator" />
3939
</service>
4040

src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -531,13 +531,13 @@ public function testMessenger()
531531
public function testMessengerValidationEnabled()
532532
{
533533
$container = $this->createContainerFromFile('messenger_validation_enabled');
534-
$this->assertTrue($definition = $container->hasDefinition('messenger.middleware.validator'));
534+
$this->assertTrue($definition = $container->hasDefinition('messenger.middleware.validation'));
535535
}
536536

537537
public function testMessengerValidationDisabled()
538538
{
539539
$container = $this->createContainerFromFile('messenger_validation_disabled');
540-
$this->assertFalse($container->hasDefinition('messenger.middleware.validator'));
540+
$this->assertFalse($container->hasDefinition('messenger.middleware.validation'));
541541
}
542542

543543
public function testMessengerAdapter()
@@ -594,12 +594,13 @@ public function testMessengerWithMultipleBuses()
594594
{
595595
$container = $this->createContainerFromFile('messenger_multiple_buses');
596596

597+
$defaultBeforeBuses = !class_exists(FullStack::class) && class_exists(Validation::class) ? array('logging', 'validation') : array('logging');
597598
$this->assertTrue($container->has('messenger.bus.commands'));
598599
$this->assertSame(array(), $container->getDefinition('messenger.bus.commands')->getArgument(0));
599-
$this->assertEquals(array( 73DC 'logging', 'validation', 'route_messages', 'call_message_handler'), $container->getParameter('messenger.bus.commands.middlewares'));
600+
$this->assertEquals(array_merge($defaultBeforeBuses, array('route_messages', 'call_message_handler')), $container->getParameter('messenger.bus.commands.middlewares'));
600601
$this->assertTrue($container->has('messenger.bus.events'));
601602
$this->assertSame(array(), $container->getDefinition('messenger.bus.events')->getArgument(0));
602-
$this->assertEquals(array('logging', 'validation', TolerateNoHandler::class, 'route_messages', 'call_message_handler'), $container->getParameter('messenger.bus.events.middlewares'));
603+
$this->assertEquals(array_merge($defaultBeforeBuses, array(TolerateNoHandler::class, 'route_messages', 'call_message_handler')), $container->getParameter('messenger.bus.events.middlewares'));
603604
$this->assertTrue($container->has('messenger.bus.queries'));
604605
$this->assertSame(array(), $container->getDefinition('messenger.bus.queries')->getArgument(0));
605606
$this->assertEquals(array('route_messages', TolerateNoHandler::class, 'call_message_handler'), $container->getParameter('messenger.bus.queries.middlewares'));

0 commit comments

Comments
 (0)
0