|
5 | 5 | use GuzzleHttp\Psr7\Request as GuzzleRequest;
|
6 | 6 | use Http\Client\HttpAsyncClient;
|
7 | 7 | use Http\Client\HttpClient;
|
| 8 | +use Http\Discovery\ClassDiscovery; |
8 | 9 | use Http\Discovery\MessageFactoryDiscovery;
|
| 10 | +use Http\Discovery\Psr17FactoryDiscovery; |
9 | 11 | use Http\Message\MessageFactory;
|
10 | 12 | use Http\Message\MessageFactory\GuzzleMessageFactory;
|
11 | 13 | use Http\Message\StreamFactory;
|
|
30 | 32 | use Http\Adapter\Cake\Client as Cake;
|
31 | 33 | use Http\Adapter\Zend\Client as Zend;
|
32 | 34 | use Http\Adapter\Artax\Client as Artax;
|
| 35 | +use Symfony\Component\HttpClient\HttplugClient as SymfonyHttplug; |
| 36 | +use Symfony\Component\HttpClient\Psr18Client as SymfonyPsr18; |
33 | 37 | use Nyholm\Psr7\Factory\HttplugFactory as NyholmHttplugFactory;
|
34 | 38 |
|
35 | 39 | /**
|
@@ -80,12 +84,20 @@ final class CommonClassesStrategy implements DiscoveryStrategy
|
80 | 84 | 'class' => [self::class, 'buzzInstantiate'],
|
81 | 85 | 'condition' => [\Buzz\Client\FileGetContents::class, \Buzz\Message\ResponseBuilder::class],
|
82 | 86 | ],
|
| 87 | + [ |
| 88 | + 'class' => [self::class, 'symfonyHttplugInstantiate'], |
| 89 | + 'condition' => SymfonyHttplug::class, |
| 90 | + ], |
83 | 91 | ],
|
84 | 92 | Psr18Client::class => [
|
85 | 93 | [
|
86 | 94 | 'class' => [self::class, 'buzzInstantiate'],
|
87 | 95 | 'condition' => [\Buzz\Client\FileGetContents::class, \Buzz\Message\ResponseBuilder::class],
|
88 | 96 | ],
|
| 97 | + [ |
| 98 | + 'class' => [self::class, 'symfonyPsr18Instantiate'], |
| 99 | + 'condition' => SymfonyPsr18::class, |
| 100 | + ], |
89 | 101 | ],
|
90 | 102 | ];
|
91 | 103 |
|
@@ -118,4 +130,14 @@ public static function buzzInstantiate()
|
118 | 130 | {
|
119 | 131 | return new \Buzz\Client\FileGetContents(MessageFactoryDiscovery::find());
|
120 | 132 | }
|
| 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 | + } |
121 | 143 | }
|
0 commit comments