Skip to content

Commit aaddb99

Browse files
committed
[PsrHttpMessageBridge] Remove ArgumentValueResolverInterface from PsrServerRequestResolver
1 parent 38f0fc1 commit aaddb99

File tree

5 files changed

+15
-70
lines changed

5 files changed

+15
-70
lines changed

ArgumentValueResolver/PsrServerRequestResolver.php

+5-17
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@
1616
use Psr\Http\Message\ServerRequestInterface;
1717
use Symfony\Bridge\PsrHttpMessage\HttpMessageFactoryInterface;
1818
use Symfony\Component\HttpFoundation\Request;
19-
use Symfony\Component\HttpKernel\Controller\ArgumentValueResolverInterface;
20-
use Symfony\Component\HttpKernel\Controller\ValueResolverInterface as BaseValueResolverInterface;
19+
use Symfony\Component\HttpKernel\Controller\ValueResolverInterface;
2120
use Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadata;
2221

2322
/**
@@ -26,28 +25,17 @@
2625
* @author Iltar van der Berg <[email protected]>
2726
* @author Alexander M. Turek <[email protected]>
2827
*/
29-
final class PsrServerRequestResolver implements ArgumentValueResolverInterface, ValueResolverInterface
28+
final class PsrServerRequestResolver implements ValueResolverInterface
3029
{
3130
private const SUPPORTED_TYPES = [
3231
ServerRequestInterface::class => true,
3332
RequestInterface::class => true,
3433
MessageInterface::class => true,
3534
];
3635

37-
private $httpMessageFactory;
38-
39-
public function __construct(HttpMessageFactoryInterface $httpMessageFactory)
40-
{
41-
$this->httpMessageFactory = $httpMessageFactory;
42-
}
43-
44-
public function supports(Request $request, ArgumentMetadata $argument): bool
45-
{
46-
if ($this instanceof BaseValueResolverInterface) {
47-
trigger_deprecation('symfony/psr-http-message-bridge', '2.3', 'Method "%s" is deprecated, call "resolve()" without calling "supports()" first.', __METHOD__);
48-
}
49-
50-
return self::SUPPORTED_TYPES[$argument->getType()] ?? false;
36+
public function __construct(
37+
private readonly HttpMessageFactoryInterface $httpMessageFactory,
38+
) {
5139
}
5240

5341
public function resolve(Request $request, ArgumentMetadata $argument): \Traversable

ArgumentValueResolver/ValueResolverInterface.php

-26
This file was deleted.

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ CHANGELOG
55
---
66

77
* Import the bridge into the Symfony monorepo and synchronize releases
8+
* Remove `ArgumentValueResolverInterface` from `PsrServerRequestResolver`
89

910
2.3.1
1011
-----

Tests/ArgumentValueResolver/PsrServerRequestResolverTest.php

-20
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,16 @@
1515
use Psr\Http\Message\MessageInterface;
1616
use Psr\Http\Message\RequestInterface;
1717
use Psr\Http\Message\ServerRequestInterface;
18-
use Symfony\Bridge\PhpUnit\ExpectDeprecationTrait;
1918
use Symfony\Bridge\PsrHttpMessage\ArgumentValueResolver\PsrServerRequestResolver;
2019
use Symfony\Bridge\PsrHttpMessage\HttpMessageFactoryInterface;
2120
use Symfony\Component\HttpFoundation\Request;
2221
use Symfony\Component\HttpKernel\Controller\ArgumentResolver;
23-
use Symfony\Component\HttpKernel\Controller\ValueResolverInterface;
24-
use Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadata;
2522

2623
/**
2724
* @author Alexander M. Turek <[email protected]>
2825
*/
2926
final class PsrServerRequestResolverTest extends TestCase
3027
{
31-
use ExpectDeprecationTrait;
32-
3328
public function testServerRequest()
3429
{
3530
$symfonyRequest = $this->createMock(Request::class);
@@ -60,21 +55,6 @@ public function testMessage()
6055
self::assertSame([$psrRequest], $resolver->getArguments($symfonyRequest, static function (MessageInterface $request): void {}));
6156
}
6257

63-
/**
64-
* @group legacy
65-
*/
66-
public function testDeprecatedSupports()
67-
{
68-
if (!interface_exists(ValueResolverInterface::class)) {
69-
$this->markTestSkipped('Requires symfony/http-kernel 6.2.');
70-
}
71-
72-
$resolver = new PsrServerRequestResolver($this->createStub(HttpMessageFactoryInterface::class));
73-
74-
$this->expectDeprecation('Since symfony/psr-http-message-bridge 2.3: Method "Symfony\Bridge\PsrHttpMessage\ArgumentValueResolver\PsrServerRequestResolver::supports" is deprecated, call "resolve()" without calling "supports()" first.');
75-
$resolver->supports($this->createStub(Request::class), $this->createStub(ArgumentMetadata::class));
76-
}
77-
7858
private function bootstrapResolver(Request $symfonyRequest, ServerRequestInterface $psrRequest): ArgumentResolver
7959
{
8060
$messageFactory = $this->createMock(HttpMessageFactoryInterface::class);

composer.json

+9-7
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,19 @@
1818
"require": {
1919
"php": ">=8.1",
2020
"psr/http-message": "^1.0|^2.0",
21-
"symfony/deprecation-contracts": "^2.5|^3.0",
2221
"symfony/http-foundation": "^5.4|^6.0"
2322
},
2423
"require-dev": {
25-
"symfony/browser-kit": "^5.4|^6.0",
26-
"symfony/config": "^5.4|^6.0",
27-
"symfony/event-dispatcher": "^5.4|^6.0",
28-
"symfony/framework-bundle": "^5.4|^6.0",
29-
"symfony/http-kernel": "^5.4|^6.0",
24+
"symfony/browser-kit": "^5.4|^6.0|^7.0",
25+
"symfony/config": "^5.4|^6.0|^7.0",
26+
"symfony/event-dispatcher": "^5.4|^6.0|^7.0",
27+
"symfony/framework-bundle": "^6.2|^7.0",
28+
"symfony/http-kernel": "^6.2|^7.0",
3029
"nyholm/psr7": "^1.1",
31-
"psr/log": "^1.1|^2|^3"
30+
"psr/log": "^1.1.4|^2|^3"
31+
},
32+
"conflict": {
33+
"symfony/http-kernel": "<6.2"
3234
},
3335
"suggest": {
3436
"nyholm/psr7": "For a super lightweight PSR-7/17 implementation"

0 commit comments

Comments
 (0)