Skip to content

Commit f14f589

Browse files
committed
PHP-HTTP: remove references to factories
1 parent fc39735 commit f14f589

File tree

12 files changed

+50
-90
lines changed

12 files changed

+50
-90
lines changed

composer.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@
3232
"php-http/httplug": "^2.0",
3333
"php-http/logger-plugin": "^1.1",
3434
"php-http/message": "^1.9",
35-
"php-http/message-factory": "^1.0.2",
3635
"php-http/stopwatch-plugin": "^1.2",
36+
"psr/http-factory-implementation": "^1.0",
3737
"psr/http-message": "^1.0 || ^2.0",
3838
"symfony/config": "^4.4 || ^5.0 || ^6.0",
3939
"symfony/dependency-injection": "^4.4 || ^5.0 || ^6.0",
@@ -75,7 +75,8 @@
7575
"config": {
7676
"sort-packages": true,
7777
"allow-plugins": {
78-
"symfony/flex": true
78+
"symfony/flex": true,
79+
"php-http/discovery": true
7980
}
8081
},
8182
"autoload": {

src/DependencyInjection/Configuration.php

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,10 @@ public function getConfigTreeBuilder(): TreeBuilder
6666
->validate()
6767
->ifTrue(function ($v) {
6868
return !empty($v['classes']['client'])
69-
|| !empty($v['classes']['message_factory'])
70-
|| !empty($v['classes']['uri_factory'])
71-
|| !empty($v['classes']['stream_factory']);
69+
|| !empty($v['classes']['psr17_request_factory'])
70+
|| !empty($v['classes']['psr17_response_factory'])
71+
|| !empty($v['classes']['psr17_uri_factory'])
72+
|| !empty($v['classes']['psr17_stream_factory']);
7273
})
7374
->then(function ($v) {
7475
foreach ($v['classes'] as $key => $class) {
@@ -119,9 +120,6 @@ public function getConfigTreeBuilder(): TreeBuilder
119120
->children()
120121
->scalarNode('client')->defaultValue('httplug.client.default')->end()
121122
->scalarNode('psr18_client')->defaultValue('httplug.psr18_client.default')->end()
122-
->scalarNode('message_factory')->defaultValue('httplug.message_factory.default')->end()
123-
->scalarNode('uri_factory')->defaultValue('httplug.uri_factory.default')->end()
124-
->scalarNode('stream_factory')->defaultValue('httplug.stream_factory.default')->end()
125123
->scalarNode('psr17_request_factory')->defaultValue('httplug.psr17_request_factory.default')->end()
126124
->scalarNode('psr17_response_factory')->defaultValue('httplug.psr17_response_factory.default')->end()
127125
->scalarNode('psr17_stream_factory')->defaultValue('httplug.psr17_stream_factory.default')->end()
@@ -136,9 +134,6 @@ public function getConfigTreeBuilder(): TreeBuilder
136134
->children()
137135
->scalarNode('client')->defaultNull()->end()
138136
->scalarNode('psr18_client')->defaultNull()->end()
139-
->scalarNode('message_factory')->defaultNull()->end()
140-
->scalarNode('uri_factory')->defaultNull()->end()
141-
->scalarNode('stream_factory')->defaultNull()->end()
142137
->scalarNode('psr17_request_factory')->defaultNull()->end()
143138
->scalarNode('psr17_response_factory')->defaultNull()->end()
144139
->scalarNode('psr17_stream_factory')->defaultNull()->end()
@@ -857,7 +852,7 @@ private function createCachePluginNode(): NodeDefinition
857852
->end()
858853
->scalarNode('stream_factory')
859854
->info('This must be a service id to a service implementing '.StreamFactory::class)
860-
->defaultValue('httplug.stream_factory')
855+
->defaultValue('httplug.psr17_stream_factory')
861856
->cannotBeEmpty()
862857
->end()
863858
->end()

src/DependencyInjection/HttplugExtension.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -513,7 +513,7 @@ private function createUri(ContainerBuilder $container, $serviceId, $uri): void
513513
$container
514514
->register($serviceId, UriInterface::class)
515515
->setPublic(false)
516-
->setFactory([new Reference('httplug.uri_factory'), 'createUri'])
516+
->setFactory([new Reference('httplug.psr17_uri_factory'), 'createUri'])
517517
->addArgument($uri)
518518
;
519519
}

src/Resources/config/services.xml

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -22,23 +22,6 @@
2222
</service>
2323

2424
<!-- Discovery with autowiring support -->
25-
<service id="httplug.message_factory.default" class="Http\Message\MessageFactory">
26-
<factory class="Http\Discovery\MessageFactoryDiscovery" method="find" />
27-
</service>
28-
<service id="Http\Message\MessageFactory" alias="httplug.message_factory" public="false" />
29-
<service id="Http\Message\RequestFactory" alias="httplug.message_factory" public="false" />
30-
<service id="Http\Message\ResponseFactory" alias="httplug.message_factory" public="false" />
31-
32-
<service id="httplug.stream_factory.default" class="Http\Message\StreamFactory">
33-
<factory class="Http\Discovery\StreamFactoryDiscovery" method="find" />
34-
</service>
35-
<service id="Http\Message\StreamFactory" alias="httplug.stream_factory" public="false" />
36-
37-
<service id="httplug.uri_factory.default" class="Http\Message\UriFactory">
38-
<factory class="Http\Discovery\UriFactoryDiscovery" method="find" />
39-
</service>
40-
<service id="Http\Message\UriFactory" alias="httplug.uri_factory" public="false" />
41-
4225
<service id="httplug.async_client.default" class="Http\Client\HttpAsyncClient">
4326
<factory class="Http\Discovery\HttpAsyncClientDiscovery" method="find" />
4427
</service>

tests/Functional/DiscoveredClientsTest.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
use Http\Discovery\HttpAsyncClientDiscovery;
1111
use Http\Discovery\HttpClientDiscovery;
1212
use Http\Discovery\Strategy\CommonClassesStrategy;
13+
use Http\Discovery\Strategy\CommonPsr17ClassesStrategy;
1314
use Http\HttplugBundle\Collector\ProfileClient;
1415
use Http\HttplugBundle\Discovery\ConfiguredClientsStrategyListener;
1516
use Nyholm\NSA;
@@ -131,7 +132,7 @@ protected function setUp(): void
131132

132133
// Reset values
133134
$strategy = new ConfiguredClientsStrategyListener(null, null);
134-
HttpClientDiscovery::setStrategies([CommonClassesStrategy::class]);
135+
HttpClientDiscovery::setStrategies([CommonClassesStrategy::class, CommonPsr17ClassesStrategy::class]);
135136
$strategy->onEvent();
136137
}
137138
}

tests/Functional/DiscoveryTest.php

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,13 @@
99
use Http\Client\HttpClient;
1010
use Http\Discovery\HttpClientDiscovery;
1111
use Http\HttplugBundle\DependencyInjection\HttplugExtension;
12-
use Http\Message\MessageFactory;
13-
use Http\Message\StreamFactory;
14-
use Http\Message\UriFactory;
1512
use Matthias\SymfonyDependencyInjectionTest\PhpUnit\AbstractExtensionTestCase;
1613
use Matthias\SymfonyDependencyInjectionTest\PhpUnit\ContainerBuilderHasAliasConstraint;
1714
use PHPUnit\Framework\Constraint\LogicalNot;
15+
use Psr\Http\Message\RequestFactoryInterface;
16+
use Psr\Http\Message\ResponseFactoryInterface;
17+
use Psr\Http\Message\StreamFactoryInterface;
18+
use Psr\Http\Message\UriFactoryInterface;
1819
use Symfony\Component\DependencyInjection\Definition;
1920

2021
/**
@@ -44,9 +45,10 @@ public function testDiscoveryFallbacks(): void
4445
$this->load();
4546

4647
$this->assertContainerBuilderHasService('httplug.client.default', HttpClient::class);
47-
$this->assertContainerBuilderHasService('httplug.message_factory.default', MessageFactory::class);
48-
$this->assertContainerBuilderHasService('httplug.uri_factory.default', UriFactory::class);
49-
$this->assertContainerBuilderHasService('httplug.stream_factory.default', StreamFactory::class);
48+
$this->assertContainerBuilderHasService('httplug.psr17_request_factory.default', RequestFactoryInterface::class);
49+
$this->assertContainerBuilderHasService('httplug.psr17_response_factory.default', ResponseFactoryInterface::class);
50+
$this->assertContainerBuilderHasService('httplug.psr17_uri_factory.default', UriFactoryInterface::class);
51+
$this->assertContainerBuilderHasService('httplug.psr17_stream_factory.default', StreamFactoryInterface::class);
5052
$this->assertContainerBuilderHasService('httplug.async_client.default', HttpAsyncClient::class);
5153
}
5254

@@ -56,18 +58,19 @@ public function testDiscoveryPartialFallbacks(): void
5658
$this->setDefinition('httplug.client.default', new Definition(Client::class));
5759

5860
$this->assertContainerBuilderHasService('httplug.client.default', Client::class);
59-
$this->assertContainerBuilderHasService('httplug.message_factory.default', MessageFactory::class);
60-
$this->assertContainerBuilderHasService('httplug.uri_factory.default', UriFactory::class);
61-
$this->assertContainerBuilderHasService('httplug.stream_factory.default', StreamFactory::class);
61+
$this->assertContainerBuilderHasService('httplug.psr17_request_factory.default', RequestFactoryInterface::class);
62+
$this->assertContainerBuilderHasService('httplug.psr17_response_factory.default', ResponseFactoryInterface::class);
63+
$this->assertContainerBuilderHasService('httplug.psr17_uri_factory.default', UriFactoryInterface::class);
64+
$this->assertContainerBuilderHasService('httplug.psr17_stream_factory.default', StreamFactoryInterface::class);
6265
$this->assertContainerBuilderHasService('httplug.async_client.default', HttpAsyncClient::class);
6366
}
6467

6568
public function testNoDiscoveryFallbacks(): void
6669
{
6770
$this->setDefinition('httplug.client.default', new Definition(HttpClient::class));
68-
$this->setDefinition('httplug.message_factory.default', new Definition(MessageFactory::class));
69-
$this->setDefinition('httplug.uri_factory.default', new Definition(UriFactory::class));
70-
$this->setDefinition('httplug.stream_factory.default', new Definition(StreamFactory::class));
71+
$this->setDefinition('httplug.psr17_request_factory.default', new Definition(RequestFactoryInterface::class));
72+
$this->setDefinition('httplug.psr17_uri_factory.default', new Definition(UriFactoryInterface::class));
73+
$this->setDefinition('httplug.psr17_stream_factory.default', new Definition(StreamFactoryInterface::class));
7174
$this->setDefinition('httplug.async_client.default', new Definition(HttpAsyncClient::class));
7275

7376
$this->load();

tests/Resources/Fixtures/config/full.php

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,13 @@
66
'default_client_autowiring' => false,
77
'main_alias' => [
88
'client' => 'my_client',
9-
'message_factory' => 'my_message_factory',
10-
'uri_factory' => 'my_uri_factory',
11-
'stream_factory' => 'my_stream_factory',
9+
'psr17_request_factory' => 'my_psr17_request_factory',
10+
'psr17_response_factory' => 'my_psr17_response_factory',
11+
'psr17_uri_factory' => 'my_psr17_uri_factory',
12+
'psr17_stream_factory' => 'my_psr17_stream_factory',
1213
],
1314
'classes' => [
1415
'client' => 'Http\Adapter\Guzzle7\Client',
15-
'message_factory' => 'Http\Message\MessageFactory\GuzzleMessageFactory',
16-
'uri_factory' => 'Http\Message\UriFactory\GuzzleUriFactory',
17-
'stream_factory' => 'Http\Message\StreamFactory\GuzzleStreamFactory',
1816
'psr18_client' => 'Http\Adapter\Guzzle7\Client',
1917
'psr17_request_factory' => 'Nyholm\Psr7\Factory\Psr17Factory',
2018
'psr17_response_factory' => 'Nyholm\Psr7\Factory\Psr17Factory',

tests/Resources/Fixtures/config/full.xml

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,13 @@
55
<default-client-autowiring>false</default-client-autowiring>
66
<main-alias>
77
<client>my_client</client>
8-
<message-factory>my_message_factory</message-factory>
9-
<uri-factory>my_uri_factory</uri-factory>
10-
<stream-factory>my_stream_factory</stream-factory>
8+
<psr17-request-factory>my_psr17_request_factory</psr17-request-factory>
9+
<psr17-response-factory>my_psr17_response_factory</psr17-response-factory>
10+
<psr17-uri-factory>my_psr17_uri_factory</psr17-uri-factory>
11+
<psr17-stream-factory>my_psr17_stream_factory</psr17-stream-factory>
1112
</main-alias>
1213
<classes>
1314
<client>Http\Adapter\Guzzle7\Client</client>
14-
<message-factory>Http\Message\MessageFactory\GuzzleMessageFactory</message-factory>
15-
<uri-factory>Http\Message\UriFactory\GuzzleUriFactory</uri-factory>
16-
<stream-factory>Http\Message\StreamFactory\GuzzleStreamFactory</stream-factory>
1715
<psr18-client>Http\Adapter\Guzzle7\Client</psr18-client>
1816
<psr17-request-factory>Nyholm\Psr7\Factory\Psr17Factory</psr17-request-factory>
1917
<psr17-response-factory>Nyholm\Psr7\Factory\Psr17Factory</psr17-response-factory>

tests/Resources/Fixtures/config/full.yml

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,12 @@ httplug:
22
default_client_autowiring: false
33
main_alias:
44
client: my_client
5-
message_factory: my_message_factory
6-
uri_factory: my_uri_factory
7-
stream_factory: my_stream_factory
5+
psr17_request_factory: my_psr17_request_factory
6+
psr17_response_factory: my_psr17_response_factory
7+
psr17_uri_factory: my_psr17_uri_factory
8+
psr17_stream_factory: my_psr17_stream_factory
89
classes:
910
client: Http\Adapter\Guzzle7\Client
10-
message_factory: Http\Message\MessageFactory\GuzzleMessageFactory
11-
uri_factory: Http\Message\UriFactory\GuzzleUriFactory
12-
stream_factory: Http\Message\StreamFactory\GuzzleStreamFactory
1311
psr18_client: Http\Adapter\Guzzle7\Client
1412
psr17_request_factory: Nyholm\Psr7\Factory\Psr17Factory
1513
psr17_response_factory: Nyholm\Psr7\Factory\Psr17Factory

tests/Resources/app/AppKernel.php

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -108,9 +108,6 @@ public function process(ContainerBuilder $container): void
108108
'httplug.strategy',
109109
'httplug.auto_discovery.auto_discovered_client',
110110
'httplug.auto_discovery.auto_discovered_async',
111-
'httplug.message_factory.default',
112-
'httplug.stream_factory.default',
113-
'httplug.uri_factory.default',
114111
'httplug.async_client.default',
115112
'httplug.client.default',
116113
'app.http.plugin.custom',

0 commit comments

Comments
 (0)