Skip to content

Commit 73e5506

Browse files
nicolas-grekasNyholm
authored andcommitted
Add support for symfony/http-client (#139)
1 parent a3be7bc commit 73e5506

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

CHANGELOG.md

+6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Change Log
22

3+
## Unreleased
4+
5+
### Added
6+
7+
- Support for `symfony/http-client`
8+
39
## 1.6.1 - 2019-02-23
410

511
### Fixed

src/Strategy/CommonClassesStrategy.php

+22
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
use GuzzleHttp\Psr7\Request as GuzzleRequest;
66
use Http\Client\HttpAsyncClient;
77
use Http\Client\HttpClient;
8+
use Http\Discovery\ClassDiscovery;
89
use Http\Discovery\MessageFactoryDiscovery;
10+
use Http\Discovery\Psr17FactoryDiscovery;
911
use Http\Message\MessageFactory;
1012
use Http\Message\MessageFactory\GuzzleMessageFactory;
1113
use Http\Message\StreamFactory;
@@ -30,6 +32,8 @@
3032
use Http\Adapter\Cake\Client as Cake;
3133
use Http\Adapter\Zend\Client as Zend;
3234
use Http\Adapter\Artax\Client as Artax;
35+
use Symfony\Component\HttpClient\HttplugClient as SymfonyHttplug;
36+
use Symfony\Component\HttpClient\Psr18Client as SymfonyPsr18;
3337
use Nyholm\Psr7\Factory\HttplugFactory as NyholmHttplugFactory;
3438

3539
/**
@@ -80,12 +84,20 @@ final class CommonClassesStrategy implements DiscoveryStrategy
8084
'class' => [self::class, 'buzzInstantiate'],
8185
'condition' => [\Buzz\Client\FileGetContents::class, \Buzz\Message\ResponseBuilder::class],
8286
],
87+
[
88+
'class' => [self::class, 'symfonyHttplugInstantiate'],
89+
'condition' => SymfonyHttplug::class,
90+
],
8391
],
8492
Psr18Client::class => [
8593
[
8694
'class' => [self::class, 'buzzInstantiate'],
8795
'condition' => [\Buzz\Client\FileGetContents::class, \Buzz\Message\ResponseBuilder::class],
8896
],
97+
[
98+
'class' => [self::class, 'symfonyPsr18Instantiate'],
99+
'condition' => SymfonyPsr18::class,
100+
],
89101
],
90102
];
91103

@@ -118,4 +130,14 @@ public static function buzzInstantiate()
118130
{
119131
return new \Buzz\Client\FileGetContents(MessageFactoryDiscovery::find());
120132
}
133+
134+
public static function symfonyHttplugInstantiate()
135+
{
136+
return new SymfonyHttplug(null, ClassDiscovery::findOneByType(MessageFactory::class), ClassDiscovery::findOneByType(StreamFactory::class));
137+
}
138+
139+
public static function symfonyPsr18Instantiate()
140+
{
141+
return new SymfonyPsr18(null, Psr17FactoryDiscovery::findResponseFactory(), Psr17FactoryDiscovery::findStreamFactory());
142+
}
121143
}

0 commit comments

Comments
 (0)