File tree Expand file tree Collapse file tree 13 files changed +75
-17
lines changed Expand file tree Collapse file tree 13 files changed +75
-17
lines changed Original file line number Diff line number Diff line change 50
50
"nyholm/nsa" : " ^1.1" ,
51
51
"nyholm/psr7" : " ^1.2.1" ,
52
52
"php-http/cache-plugin" : " ^1.7" ,
53
- "php-http/guzzle6 -adapter" : " ^1.1.1 || ^2.0 .1" ,
53
+ "php-http/guzzle7 -adapter" : " ^0.1 .1" ,
54
54
"php-http/mock-client" : " ^1.2" ,
55
55
"php-http/promise" : " ^1.0" ,
56
56
"polishsymfonycommunity/symfony-mocker-container" : " ^1.0" ,
Original file line number Diff line number Diff line change
1
+ <?php
2
+
3
+ declare (strict_types=1 );
4
+
5
+ namespace Http \HttplugBundle \ClientFactory ;
6
+
7
+ use Http \Adapter \Guzzle7 \Client ;
8
+
9
+ /**
10
+ * @author Tobias Nyholm <tobias.nyholm@gmail.com>
11
+ */
12
+ class Guzzle7Factory implements ClientFactory
13
+ {
14
+ /**
15
+ * {@inheritdoc}
16
+ */
17
+ public function createClient (array $ config = [])
18
+ {
19
+ if (!class_exists ('Http\Adapter\Guzzle7\Client ' )) {
20
+ throw new \LogicException ('To use the Guzzle7 adapter you need to install the "php-http/guzzle6-adapter" package. ' );
21
+ }
22
+
23
+ return Client::createWithConfig ($ config );
24
+ }
25
+ }
Original file line number Diff line number Diff line change 72
72
<argument type =" service" id =" httplug.collector.formatter" />
73
73
<argument type =" service" id =" debug.stopwatch" />
74
74
</service >
75
+ <service id =" httplug.collector.factory.guzzle7" class =" Http\HttplugBundle\Collector\ProfileClientFactory" decorates =" httplug.factory.guzzle7" public =" false" >
76
+ <argument type =" service" id =" httplug.collector.factory.guzzle7.inner" />
77
+ <argument type =" service" id =" httplug.collector.collector" />
78
+ <argument type =" service" id =" httplug.collector.formatter" />
79
+ <argument type =" service" id =" debug.stopwatch" />
80
+ </service >
75
81
<service id =" httplug.collector.factory.react" class =" Http\HttplugBundle\Collector\ProfileClientFactory" decorates =" httplug.factory.react" public =" false" >
76
82
<argument type =" service" id =" httplug.collector.factory.react.inner" />
77
83
<argument type =" service" id =" httplug.collector.collector" />
Original file line number Diff line number Diff line change 90
90
<argument type =" service" id =" httplug.message_factory" />
91
91
</service >
92
92
<service id =" httplug.factory.guzzle6" class =" Http\HttplugBundle\ClientFactory\Guzzle6Factory" public =" false" />
93
+ <service id =" httplug.factory.guzzle7" class =" Http\HttplugBundle\ClientFactory\Guzzle7Factory" public =" false" />
93
94
<service id =" httplug.factory.react" class =" Http\HttplugBundle\ClientFactory\ReactFactory" public =" false" >
94
95
<argument type =" service" id =" httplug.message_factory" />
95
96
</service >
Original file line number Diff line number Diff line change 4
4
5
5
namespace Http \HttplugBundle \Tests \Unit \DependencyInjection \Compiler ;
6
6
7
- use Http \Adapter \Guzzle6 \Client ;
7
+ use Http \Adapter \Guzzle7 \Client ;
8
8
use Http \Client \HttpAsyncClient ;
9
9
use Http \Client \HttpClient ;
10
10
use Http \Discovery \HttpClientDiscovery ;
Original file line number Diff line number Diff line change 11
11
'stream_factory ' => 'my_stream_factory ' ,
12
12
],
13
13
'classes ' => [
14
- 'client ' => 'Http\Adapter\Guzzle6 \Client ' ,
14
+ 'client ' => 'Http\Adapter\Guzzle7 \Client ' ,
15
15
'message_factory ' => 'Http\Message\MessageFactory\GuzzleMessageFactory ' ,
16
16
'uri_factory ' => 'Http\Message\UriFactory\GuzzleUriFactory ' ,
17
17
'stream_factory ' => 'Http\Message\StreamFactory\GuzzleStreamFactory ' ,
18
- 'psr18_client ' => 'Http\Adapter\Guzzle6 \Client ' ,
18
+ 'psr18_client ' => 'Http\Adapter\Guzzle7 \Client ' ,
19
19
'psr17_request_factory ' => 'Nyholm\Psr7\Factory\Psr17Factory ' ,
20
20
'psr17_response_factory ' => 'Nyholm\Psr7\Factory\Psr17Factory ' ,
21
21
'psr17_stream_factory ' => 'Nyholm\Psr7\Factory\Psr17Factory ' ,
25
25
],
26
26
'clients ' => [
27
27
'test ' => [
28
- 'factory ' => 'httplug.factory.guzzle6 ' ,
28
+ 'factory ' => 'httplug.factory.guzzle7 ' ,
29
29
'http_methods_client ' => true ,
30
30
'plugins ' => [
31
31
'httplug.plugin.redirect ' ,
Original file line number Diff line number Diff line change 10
10
<stream-factory >my_stream_factory</stream-factory >
11
11
</main-alias >
12
12
<classes >
13
- <client >Http\Adapter\Guzzle6 \Client</client >
13
+ <client >Http\Adapter\Guzzle7 \Client</client >
14
14
<message-factory >Http\Message\MessageFactory\GuzzleMessageFactory</message-factory >
15
15
<uri-factory >Http\Message\UriFactory\GuzzleUriFactory</uri-factory >
16
16
<stream-factory >Http\Message\StreamFactory\GuzzleStreamFactory</stream-factory >
17
- <psr18-client >Http\Adapter\Guzzle6 \Client</psr18-client >
17
+ <psr18-client >Http\Adapter\Guzzle7 \Client</psr18-client >
18
18
<psr17-request-factory >Nyholm\Psr7\Factory\Psr17Factory</psr17-request-factory >
19
19
<psr17-response-factory >Nyholm\Psr7\Factory\Psr17Factory</psr17-response-factory >
20
20
<psr17-stream-factory >Nyholm\Psr7\Factory\Psr17Factory</psr17-stream-factory >
21
21
<psr17-uri-factory >Nyholm\Psr7\Factory\Psr17Factory</psr17-uri-factory >
22
22
<psr17-uploaded-file-factory >Nyholm\Psr7\Factory\Psr17Factory</psr17-uploaded-file-factory >
23
23
<psr17-server-request-factory >Nyholm\Psr7\Factory\Psr17Factory</psr17-server-request-factory >
24
24
</classes >
25
- <client name =" test" factory =" httplug.factory.guzzle6 " http-methods-client =" true" >
25
+ <client name =" test" factory =" httplug.factory.guzzle7 " http-methods-client =" true" >
26
26
<plugin >httplug.plugin.redirect</plugin >
27
27
<plugin >
28
28
<add-host host =" http://localhost" />
Original file line number Diff line number Diff line change @@ -6,11 +6,11 @@ httplug:
6
6
uri_factory : my_uri_factory
7
7
stream_factory : my_stream_factory
8
8
classes :
9
- client : Http\Adapter\Guzzle6 \Client
9
+ client : Http\Adapter\Guzzle7 \Client
10
10
message_factory : Http\Message\MessageFactory\GuzzleMessageFactory
11
11
uri_factory : Http\Message\UriFactory\GuzzleUriFactory
12
12
stream_factory : Http\Message\StreamFactory\GuzzleStreamFactory
13
- psr18_client : Http\Adapter\Guzzle6 \Client
13
+ psr18_client : Http\Adapter\Guzzle7 \Client
14
14
psr17_request_factory : Nyholm\Psr7\Factory\Psr17Factory
15
15
psr17_response_factory : Nyholm\Psr7\Factory\Psr17Factory
16
16
psr17_stream_factory : Nyholm\Psr7\Factory\Psr17Factory
@@ -19,7 +19,7 @@ httplug:
19
19
psr17_server_request_factory : Nyholm\Psr7\Factory\Psr17Factory
20
20
clients :
21
21
test :
22
- factory : httplug.factory.guzzle6
22
+ factory : httplug.factory.guzzle7
23
23
http_methods_client : true
24
24
plugins :
25
25
- ' httplug.plugin.redirect'
Original file line number Diff line number Diff line change 7
7
async_client : auto
8
8
clients :
9
9
acme :
10
- factory : httplug.factory.guzzle6
10
+ factory : httplug.factory.guzzle7
11
11
plugins :
12
12
-
13
13
decoder :
Original file line number Diff line number Diff line change
1
+ <?php
2
+
3
+ declare (strict_types=1 );
4
+
5
+ namespace Http \HttplugBundle \Tests \Unit \ClientFactory ;
6
+
7
+ use Http \Adapter \Guzzle7 \Client ;
8
+ use Http \HttplugBundle \ClientFactory \Guzzle7Factory ;
9
+ use PHPUnit \Framework \TestCase ;
10
+
11
+ /**
12
+ * @author Tobias Nyholm <tobias.nyholm@gmail.com>
13
+ */
14
+ class Guzzle7FactoryTest extends TestCase
15
+ {
16
+ public function testCreateClient (): void
17
+ {
18
+ if (!class_exists (Client::class)) {
19
+ $ this ->markTestSkipped ('Guzzle7 adapter is not installed ' );
20
+ }
21
+
22
+ $ factory = new Guzzle7Factory ();
23
+ $ client = $ factory ->createClient ();
24
+
25
+ $ this ->assertInstanceOf (Client::class, $ client );
26
+ }
27
+ }
Original file line number Diff line number Diff line change 13
13
use Http \HttplugBundle \Collector \StackPlugin ;
14
14
use Http \Promise \FulfilledPromise ;
15
15
use Http \Promise \RejectedPromise ;
16
- use PHPUnit \Framework \Error \Warning ;
17
16
use PHPUnit \Framework \TestCase ;
18
17
use Psr \Http \Message \RequestInterface ;
19
18
use Psr \Http \Message \ResponseInterface ;
@@ -179,7 +178,7 @@ public function testOnException(): void
179
178
180
179
public function testOnError (): void
181
180
{
182
- $ this ->expectException (Warning::class );
181
+ $ this ->expectExceptionMessage ( ' Division by zero ' );
183
182
184
183
$ this ->collector
185
184
->expects ($ this ->once ())
Original file line number Diff line number Diff line change 4
4
5
5
namespace Http \HttplugBundle \Tests \Unit \DependencyInjection ;
6
6
7
- use Http \Adapter \Guzzle6 \Client ;
7
+ use Http \Adapter \Guzzle7 \Client ;
8
8
use Http \HttplugBundle \DependencyInjection \Configuration ;
9
9
use Http \HttplugBundle \DependencyInjection \HttplugExtension ;
10
10
use Http \Message \MessageFactory \GuzzleMessageFactory ;
@@ -158,7 +158,7 @@ public function testSupportsAllConfigFormats(): void
158
158
],
159
159
'clients ' => [
160
160
'test ' => [
161
- 'factory ' => 'httplug.factory.guzzle6 ' ,
161
+ 'factory ' => 'httplug.factory.guzzle7 ' ,
162
162
'http_methods_client ' => true ,
163
163
'service ' => null ,
164
164
'public ' => null ,
Original file line number Diff line number Diff line change 4
4
5
5
namespace Http \HttplugBundle \Tests \Unit \DependencyInjection ;
6
6
7
- use Http \Adapter \Guzzle6 \Client ;
7
+ use Http \Adapter \Guzzle7 \Client ;
8
8
use Http \Client \HttpClient ;
9
9
use Http \Client \Plugin \Vcr \Recorder \InMemoryRecorder ;
10
10
use Http \HttplugBundle \Collector \PluginClientFactoryListener ;
You can’t perform that action at this time.
0 commit comments