Skip to content

Commit ff0c7a3

Browse files
authored
Fix deprecations triggered by Symfony 5.3 (#489)
1 parent 107f60c commit ff0c7a3

10 files changed

+60
-17
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
## Unreleased
44

55
- Fix the conditions to automatically enable the cache instrumentation when possible (#487)
6+
- Fix deprecations triggered by Symfony 5.3 (#489)
67

78
## 4.1.0 (2021-04-19)
89

phpstan-baseline.neon

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -180,11 +180,6 @@ parameters:
180180
count: 1
181181
path: tests/EventListener/RequestListenerTest.php
182182

183-
-
184-
message: "#^Call to method isMasterRequest\\(\\) on an unknown class Symfony\\\\Component\\\\HttpKernel\\\\Event\\\\GetResponseEvent\\.$#"
185-
count: 1
186-
path: tests/EventListener/SubRequestListenerTest.php
187-
188183
-
189184
message: "#^Instantiated class Symfony\\\\Component\\\\HttpKernel\\\\Event\\\\GetResponseEvent not found\\.$#"
190185
count: 2
@@ -195,6 +190,11 @@ parameters:
195190
count: 1
196191
path: tests/EventListener/SubRequestListenerTest.php
197192

193+
-
194+
message: "#^Parameter \\#1 \\$event of method Sentry\\\\SentryBundle\\\\Tests\\\\EventListener\\\\SubRequestListenerTest\\:\\:isMainRequest\\(\\) expects Symfony\\\\Component\\\\HttpKernel\\\\Event\\\\KernelEvent, Symfony\\\\Component\\\\HttpKernel\\\\Event\\\\GetResponseEvent\\|Symfony\\\\Component\\\\HttpKernel\\\\Event\\\\RequestEvent given\\.$#"
195+
count: 1
196+
path: tests/EventListener/SubRequestListenerTest.php
197+
198198
-
199199
message: "#^Parameter \\$event of method Sentry\\\\SentryBundle\\\\Tests\\\\EventListener\\\\SubRequestListenerTest\\:\\:testHandleKernelRequestEvent\\(\\) has invalid typehint type Symfony\\\\Component\\\\HttpKernel\\\\Event\\\\GetResponseEvent\\.$#"
200200
count: 1

src/EventListener/AbstractTracingRequestListener.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111

1212
abstract class AbstractTracingRequestListener
1313
{
14+
use KernelEventForwardCompatibilityTrait;
15+
1416
/**
1517
* @var HubInterface The current hub
1618
*/
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Sentry\SentryBundle\EventListener;
6+
7+
use Symfony\Component\HttpKernel\Event\KernelEvent;
8+
9+
/**
10+
* Provides forward compatibility with newer Symfony versions.
11+
*
12+
* @internal
13+
*/
14+
trait KernelEventForwardCompatibilityTrait
15+
{
16+
protected function isMainRequest(KernelEvent $event): bool
17+
{
18+
return method_exists($event, 'isMainRequest')
19+
? $event->isMainRequest()
20+
: $event->isMasterRequest()
21+
;
22+
}
23+
}

src/EventListener/RequestListener.php

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717
*/
1818
final class RequestListener
1919
{
20+
use KernelEventForwardCompatibilityTrait;
21+
2022
/**
2123
* @var HubInterface The current hub
2224
*/
@@ -47,7 +49,7 @@ public function __construct(HubInterface $hub, ?TokenStorageInterface $tokenStor
4749
*/
4850
public function handleKernelRequestEvent(RequestListenerRequestEvent $event): void
4951
{
50-
if (!$event->isMasterRequest()) {
52+
if (!$this->isMainRequest($event)) {
5153
return;
5254
}
5355

@@ -81,7 +83,7 @@ public function handleKernelRequestEvent(RequestListenerRequestEvent $event): vo
8183
*/
8284
public function handleKernelControllerEvent(RequestListenerControllerEvent $event): void
8385
{
84-
if (!$event->isMasterRequest()) {
86+
if (!$this->isMainRequest($event)) {
8587
return;
8688
}
8789

@@ -102,7 +104,7 @@ public function handleKernelControllerEvent(RequestListenerControllerEvent $even
102104
private function getUsername($user): ?string
103105
{
104106
if ($user instanceof UserInterface) {
105-
return $user->getUsername();
107+
return method_exists($user, 'getUserIdentifier') ? $user->getUserIdentifier() : $user->getUsername();
106108
}
107109

108110
if (\is_string($user)) {

src/EventListener/SubRequestListener.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
*/
1414
final class SubRequestListener
1515
{
16+
use KernelEventForwardCompatibilityTrait;
17+
1618
/**
1719
* @var HubInterface The current hub
1820
*/
@@ -36,7 +38,7 @@ public function __construct(HubInterface $hub)
3638
*/
3739
public function handleKernelRequestEvent(SubRequestListenerRequestEvent $event): void
3840
{
39-
if ($event->isMasterRequest()) {
41+
if ($this->isMainRequest($event)) {
4042
return;
4143
}
4244

@@ -51,7 +53,7 @@ public function handleKernelRequestEvent(SubRequestListenerRequestEvent $event):
5153
*/
5254
public function handleKernelFinishRequestEvent(FinishRequestEvent $event): void
5355
{
54-
if ($event->isMasterRequest()) {
56+
if ($this->isMainRequest($event)) {
5557
return;
5658
}
5759

src/EventListener/TracingRequestListener.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ final class TracingRequestListener extends AbstractTracingRequestListener
2424
*/
2525
public function handleKernelRequestEvent(RequestListenerRequestEvent $event): void
2626
{
27-
if (!$event->isMasterRequest()) {
27+
if (!$this->isMainRequest($event)) {
2828
return;
2929
}
3030

src/EventListener/TracingSubRequestListener.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ final class TracingSubRequestListener extends AbstractTracingRequestListener
2222
*/
2323
public function handleKernelRequestEvent(SubRequestListenerRequestEvent $event): void
2424
{
25-
if ($event->isMasterRequest()) {
25+
if ($this->isMainRequest($event)) {
2626
return;
2727
}
2828

@@ -53,7 +53,7 @@ public function handleKernelRequestEvent(SubRequestListenerRequestEvent $event):
5353
*/
5454
public function handleKernelFinishRequestEvent(FinishRequestEvent $event): void
5555
{
56-
if ($event->isMasterRequest()) {
56+
if ($this->isMainRequest($event)) {
5757
return;
5858
}
5959

tests/EventListener/RequestListenerTest.php

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,12 @@ public function getSalt()
221221
return null;
222222
}
223223

224-
public function getUsername()
224+
public function getUsername(): string
225+
{
226+
return $this->getUserIdentifier();
227+
}
228+
229+
public function getUserIdentifier(): string
225230
{
226231
return 'foo_user';
227232
}
@@ -411,7 +416,12 @@ public function getSalt()
411416
return null;
412417
}
413418

414-
public function getUsername()
419+
public function getUsername(): string
420+
{
421+
return $this->getUserIdentifier();
422+
}
423+
424+
public function getUserIdentifier(): string
415425
{
416426
return 'foo_user';
417427
}

tests/EventListener/SubRequestListenerTest.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
use PHPUnit\Framework\MockObject\MockObject;
88
use PHPUnit\Framework\TestCase;
9+
use Sentry\SentryBundle\EventListener\KernelEventForwardCompatibilityTrait;
910
use Sentry\SentryBundle\EventListener\SubRequestListener;
1011
use Sentry\State\HubInterface;
1112
use Sentry\State\Scope;
@@ -18,6 +19,8 @@
1819

1920
class SubRequestListenerTest extends TestCase
2021
{
22+
use KernelEventForwardCompatibilityTrait;
23+
2124
/**
2225
* @var MockObject&HubInterface
2326
*/
@@ -42,7 +45,7 @@ protected function setUp(): void
4245
*/
4346
public function testHandleKernelRequestEvent($event): void
4447
{
45-
$this->hub->expects($event->isMasterRequest() ? $this->never() : $this->once())
48+
$this->hub->expects($this->isMainRequest($event) ? $this->never() : $this->once())
4649
->method('pushScope')
4750
->willReturn(new Scope());
4851

@@ -92,7 +95,7 @@ public function handleKernelRequestEventWithSymfonyVersionLowerThan43DataProvide
9295
*/
9396
public function testHandleKernelFinishRequestEvent($event): void
9497
{
95-
$this->hub->expects($event->isMasterRequest() ? $this->never() : $this->once())
98+
$this->hub->expects($this->isMainRequest($event) ? $this->never() : $this->once())
9699
->method('popScope');
97100

98101
$this->listener->handleKernelFinishRequestEvent($event);

0 commit comments

Comments
 (0)