8000 [Messenger] remove AllowNoHandlerMiddleware in favor of a constructor… · symfony/symfony@fa653b8 · GitHub
[go: up one dir, main page]

Skip to content

Commit fa653b8

Browse files
[Messenger] remove AllowNoHandlerMiddleware in favor of a constructor argument on HandleMessageMiddleware
1 parent 9aaec94 commit fa653b8

File tree

15 files changed

+40
-122
lines changed

15 files changed

+40
-122
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1081,7 +1081,7 @@ function ($a) {
10811081
->arrayNode('buses')
10821082
->defaultValue(array('messenger.bus.default' => array('default_middleware' => true, 'middleware' => array())))
10831083
->useAttributeAsKey('name')
1084-
->prototype('array')
1084+
->arrayPrototype()
10851085
->addDefaultsIfNotSet()
10861086
->children()
10871087
->booleanNode('default_middleware')->defaultTrue()->end()
@@ -1093,7 +1093,7 @@ function ($a) {
10931093
})
10941094
->end()
10951095
->defaultValue(array())
1096-
->prototype('array')
1096+
->arrayPrototype()
10971097
->beforeNormalization()
10981098
->always()
10991099
->then(function ($middleware): array {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@
2525
</service>
2626

2727
<!-- Middleware -->
28-
<service id="messenger.middleware.allow_no_handler" class="Symfony\Component\Messenger\Middleware\AllowNoHandlerMiddleware" abstract="true" />
2928
<service id="messenger.middleware.call_message_handler" class="Symfony\Component\Messenger\Middleware\HandleMessageMiddleware" abstract="true">
3029
<argument /> <!-- Bus handler resolver -->
30+
<argument>false</argument> <!-- Allow no handlers -->
3131
</service>
3232

3333
<service id="messenger.middleware.validation" class="Symfony\Component\Messenger\Middleware\ValidationMiddleware" abstract="true">

src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/php/messenger_multiple_buses.php

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,12 @@
88
'messenger.bus.events' => array(
99
'middleware' => array(
1010
array('with_factory' => array('foo', true, array('bar' => 'baz'))),
11-
'allow_no_handler',
1211
),
1312
),
1413
'messenger.bus.queries' => array(
1514
'default_middleware' => false,
1615
'middleware' => array(
1716
'route_messages',
18-
'allow_no_handler',
1917
'call_message_handler',
2018
),
2119
),

src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/xml/messenger_multiple_buses.xml

Lines changed: 0 additions & 2 deletions 6D38
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,9 @@
1616
<framework:bar>baz</framework:bar>
1717
</framework:argument>
1818
</framework:middleware>
19-
<framework:middleware id="allow_no_handler" />
2019
</framework:bus>
2120
<framework:bus name="messenger.bus.queries" default-middleware="false">
2221
<framework:middleware id="route_messages" />
23-
<framework:middleware id="allow_no_handler" />
2422
<framework:middleware id="call_message_handler" />
2523
</framework:bus>
2624
</framework:messenger>

src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/yml/messenger_multiple_buses.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,8 @@ framework:
66
messenger.bus.events:
77
middleware:
88
- with_factory: [foo, true, { bar: baz }]
9-
- "allow_no_handler"
109
messenger.bus.queries:
1110
default_middleware: false
1211
middleware:
1312
- "route_messages"
14-
- "allow_no_handler"
1513
- "call_message_handler"

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

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -627,15 +627,13 @@ public function testMessengerWithMultipleBuses()
627627
$this->assertEquals(array(
628628
array('id' => 'logging'),
629629
array('id' => 'with_factory', 'arguments' => array('foo', true, array('bar' => 'baz'))),
630-
array('id' => 'allow_no_handler', 'arguments' => array()),
631630
array('id' => 'route_messages'),
632631
array('id' => 'call_message_handler'),
633632
), $container->getParameter('messenger.bus.events.middleware'));
634633
$this->assertTrue($container->has('messenger.bus.queries'));
635634
$this->assertSame(array(), $container->getDefinition('messenger.bus.queries')->getArgument(0));
636635
$this->assertEquals(array(
637636
array('id' => 'route_messages', 'arguments' => array()),
638-
array('id' => 'allow_no_handler', 'arguments' => array()),
639637
array('id' => 'call_message_handler', 'arguments' => array()),
640638
), $container->getParameter('messenger.bus.queries.middleware'));
641639

src/Symfony/Component/Messenger/CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ CHANGELOG
3333
* `HandlerLocatorInterface::resolve()` has been replaced by `getHandler(Envelope $envelope)`
3434
* `SenderLocatorInterface::getSenderForMessage()` has been replaced by `getSender(Envelope $envelope)`
3535
* `SenderInterface::send()` returns `void`
36+
* `AllowNoHandlerMiddleware` has removed in favor of a new constructor argument on `HandleMessageMiddleware`
37+
* `HandlerLocatorInterface::getHandler()` now returns `?callable` and shouldn't throw when no handlers are found
3638

3739
4.1.0
3840
-----

src/Symfony/Component/Messenger/Handler/Locator/AbstractHandlerLocator.php

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
namespace Symfony\Component\Messenger\Handler\Locator;
1313

1414
use Symfony\Component\Messenger\Envelope;
15-
use Symfony\Component\Messenger\Exception\NoHandlerForMessageException;
1615

1716
/**
1817
* @author Miha Vrhovnik <miha.vrhovnik@gmail.com>
@@ -22,7 +21,7 @@
2221
*/
2322
abstract class AbstractHandlerLocator implements HandlerLocatorInterface
2423
{
25-
public function getHandler(Envelope $envelope): callable
24+
public function getHandler(Envelope $envelope): ?callable
2625
{
2726
$class = \get_class($envelope->getMessage());
2827

@@ -42,7 +41,7 @@ public function getHandler(Envelope $envelope): callable
4241
}
4342
}
4443

45-
throw new NoHandlerForMessageExceptio 6D38 n(sprintf('No handler for message "%s".', $class));
44+
return null;
4645
}
4746

4847
abstract protected function getHandlerByName(string $name): ?callable;

src/Symfony/Component/Messenger/Handler/Locator/HandlerLocatorInterface.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@ interface HandlerLocatorInterface
2121
{
2222
/**
2323
* Returns the handler for the given message.
24-
*
25-
* @throws NoHandlerForMessageException When no handler is found
2624
*/
27-
public function getHandler(Envelope $envelope): callable;
25+
public function getHandler(Envelope $envelope): ?callable;
2826
}

src/Symfony/Component/Messenger/Middleware/AllowNoHandlerMiddleware.php

Lines changed: 0 additions & 33 deletions
This file was deleted.

0 commit comments

Comments
 (0)
0