Skip to content

Commit 3933c8a

Browse files
committed
Configure the SubRequestListener
1 parent 52284d5 commit 3933c8a

File tree

4 files changed

+37
-3
lines changed

4 files changed

+37
-3
lines changed

src/DependencyInjection/Configuration.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ public function getConfigTreeBuilder()
120120
->addDefaultsIfNotSet()
121121
->children()
122122
->scalarNode('request')->defaultValue(1)->end()
123+
->scalarNode('sub_request')->defaultValue(1)->end()
123124
->scalarNode('console')->defaultValue(1)->end()
124125
->end()
125126
->end();

src/Resources/config/services.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,5 +38,10 @@
3838
<tag name="kernel.event_listener" event="kernel.request" method="onKernelRequest" priority="%sentry.listener_priorities.request%" />
3939
<tag name="kernel.event_listener" event="kernel.controller" method="onKernelController" priority="%sentry.listener_priorities.request%" />
4040
</service>
41+
42+
<service id="Sentry\SentryBundle\EventListener\SubRequestListener" class="Sentry\SentryBundle\EventListener\SubRequestListener" public="false">
43+
<tag name="kernel.event_listener" event="kernel.request" method="onKernelRequest" priority="%sentry.listener_priorities.sub_request%" />
44+
<tag name="kernel.event_listener" event="kernel.finish_request" method="onKernelFinishRequest" priority="%sentry.listener_priorities.sub_request%" />
45+
</service>
4146
</services>
4247
</container>

test/DependencyInjection/ConfigurationTest.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ public function testConfigurationDefaults(): void
4545
'dsn' => null,
4646
'listener_priorities' => [
4747
'request' => 1,
48+
'sub_request' => 1,
4849
'console' => 1,
4950
],
5051
'options' => [

test/SentryBundleTest.php

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,12 @@
66
use Sentry\SentryBundle\DependencyInjection\SentryExtension;
77
use Sentry\SentryBundle\EventListener\ConsoleListener;
88
use Sentry\SentryBundle\EventListener\RequestListener;
9+
use Sentry\SentryBundle\EventListener\SubRequestListener;
10+
use Symfony\Component\Console\ConsoleEvents;
911
use Symfony\Component\DependencyInjection\ContainerBuilder;
1012
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
1113
use Symfony\Component\HttpKernel\Kernel;
14+
use Symfony\Component\HttpKernel\KernelEvents;
1215

1316
class SentryBundleTest extends TestCase
1417
{
@@ -21,7 +24,7 @@ public function testContainerHasConsoleListenerConfiguredCorrectly(): void
2124
$expectedTag = [
2225
'kernel.event_listener' => [
2326
[
24-
'event' => 'console.command',
27+
'event' => ConsoleEvents::COMMAND,
2528
'method' => 'onConsoleCommand',
2629
'priority' => '%sentry.listener_priorities.console%',
2730
],
@@ -40,12 +43,12 @@ public function testContainerHasRequestListenerConfiguredCorrectly(): void
4043
$expectedTag = [
4144
'kernel.event_listener' => [
4245
[
43-
'event' => 'kernel.request',
46+
'event' => KernelEvents::REQUEST,
4447
'method' => 'onKernelRequest',
4548
'priority' => '%sentry.listener_priorities.request%',
4649
],
4750
[
48-
'event' => 'kernel.controller',
51+
'event' => KernelEvents::CONTROLLER,
4952
'method' => 'onKernelController',
5053
'priority' => '%sentry.listener_priorities.request%',
5154
],
@@ -55,6 +58,30 @@ public function testContainerHasRequestListenerConfiguredCorrectly(): void
5558
$this->assertSame($expectedTag, $consoleListener->getTags());
5659
}
5760

61+
public function testContainerHasSubRequestListenerConfiguredCorrectly(): void
62+
{
63+
$container = $this->getContainer();
64+
65+
$consoleListener = $container->getDefinition(SubRequestListener::class);
66+
67+
$expectedTag = [
68+
'kernel.event_listener' => [
69+
[
70+
'event' => KernelEvents::REQUEST,
71+
'method' => 'onKernelRequest',
72+
'priority' => '%sentry.listener_priorities.sub_request%',
73+
],
74+
[
75+
'event' => KernelEvents::FINISH_REQUEST,
76+
'method' => 'onKernelFinishRequest',
77+
'priority' => '%sentry.listener_priorities.sub_request%',
78+
],
79+
],
80+
];
81+
82+
$this->assertSame($expectedTag, $consoleListener->getTags());
83+
}
84+
5885
private function getContainer(array $configuration = []): ContainerBuilder
5986
{
6087
$containerBuilder = new ContainerBuilder();

0 commit comments

Comments
 (0)