Skip to content

Commit 2ff37ef

Browse files
authored
Prefer usage of the existing HttpMessageFactoryInterface service for the RequestFetcher class (#409)
1 parent 26d3b6e commit 2ff37ef

File tree

3 files changed

+13
-28
lines changed

3 files changed

+13
-28
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
- Reorganize the folder structure and change CS standard (#405)
1616
- [BC BREAK] Remove the `monolog` configuration option. Instead, register the service manually (#406)
1717
- [BC BREAK] Remove the `listener_priorities` configuration option. Instead, use a compiler pass to change the priority of the listeners (#407)
18+
- Prefer usage of the existing `Symfony\Bridge\PsrHttpMessage\HttpMessageFactoryInterface` service for the `RequestFetcher` class (#409)
1819

1920
## 3.5.3 (2020-10-13)
2021

src/Integration/RequestFetcher.php

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,10 @@
44

55
namespace Sentry\SentryBundle\Integration;
66

7+
use Http\Discovery\Psr17FactoryDiscovery;
78
use Psr\Http\Message\ServerRequestInterface;
89
use Sentry\Integration\RequestFetcherInterface;
10+
use Symfony\Bridge\PsrHttpMessage\Factory\PsrHttpFactory;
911
use Symfony\Bridge\PsrHttpMessage\HttpMessageFactoryInterface;
1012
use Symfony\Component\HttpFoundation\RequestStack;
1113

@@ -29,13 +31,18 @@ final class RequestFetcher implements RequestFetcherInterface
2931
/**
3032
* Class constructor.
3133
*
32-
* @param RequestStack $requestStack The request stack
33-
* @param HttpMessageFactoryInterface $httpMessageFactory The factory to convert Symfony requests to PSR-7 requests
34+
* @param RequestStack $requestStack The request stack
35+
* @param HttpMessageFactoryInterface|null $httpMessageFactory The factory to convert Symfony requests to PSR-7 requests
3436
*/
35-
public function __construct(RequestStack $requestStack, HttpMessageFactoryInterface $httpMessageFactory)
37+
public function __construct(RequestStack $requestStack, ?HttpMessageFactoryInterface $httpMessageFactory = null)
3638
{
3739
$this->requestStack = $requestStack;
38-
$this->httpMessageFactory = $httpMessageFactory;
40+
$this->httpMessageFactory = $httpMessageFactory ?? new PsrHttpFactory(
41+
Psr17FactoryDiscovery::findServerRequestFactory(),
42+
Psr17FactoryDiscovery::findStreamFactory(),
43+
Psr17FactoryDiscovery::findUploadedFileFactory(),
44+
Psr17FactoryDiscovery::findResponseFactory()
45+
);
3946
}
4047

4148
/**

src/Resources/config/services.xml

Lines changed: 1 addition & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -65,30 +65,7 @@
6565

6666
<service id="Sentry\Integration\RequestFetcherInterface" class="Sentry\SentryBundle\Integration\RequestFetcher">
6767
<argument type="service" id="Symfony\Component\HttpFoundation\RequestStack" />
68-
<argument type="service">
69-
<service class="Symfony\Bridge\PsrHttpMessage\Factory\PsrHttpFactory">
70-
<argument type="service">
71-
<service class="Psr\Http\Message\ServerRequestFactoryInterface">
72-
<factory class="Http\Discovery\Psr17FactoryDiscovery" method="findServerRequestFactory" />
73-
</service>
74-
</argument>
75-
<argument type="service">
76-
<service class="Psr\Http\Message\StreamFactoryInterface">
77-
<factory class="Http\Discovery\Psr17FactoryDiscovery" method="findStreamFactory" />
78-
</service>
79-
</argument>
80-
<argument type="service">
81-
<service class="Psr\Http\Message\UploadedFileFactoryInterface">
82-
<factory class="Http\Discovery\Psr17FactoryDiscovery" method="findUploadedFileFactory" />
83-
</service>
84-
</argument>
85-
<argument type="service">
86-
<service class="Psr\Http\Message\ResponseFactoryInterface">
87-
<factory class="Http\Discovery\Psr17FactoryDiscovery" method="findResponseFactory" />
88-
</service>
89-
</argument>
90-
</service>
91-
</argument>
68+
<argument type="service" id="Symfony\Bridge\PsrHttpMessage\HttpMessageFactoryInterface" on-invalid="null" />
9269
</service>
9370
</services>
9471
</container>

0 commit comments

Comments
 (0)