3
3
namespace Github \HttpClient ;
4
4
5
5
use Http \Client \Common \HttpMethodsClient ;
6
+ use Http \Client \Common \HttpMethodsClientInterface ;
6
7
use Http \Client \Common \Plugin ;
7
8
use Http \Client \Common \Plugin \Cache \Generator \HeaderCacheKeyGenerator ;
8
9
use Http \Client \Common \PluginClientFactory ;
9
- use Http \Discovery \MessageFactoryDiscovery ;
10
+ use Http \Discovery \Psr17FactoryDiscovery ;
10
11
use Http \Discovery \Psr18ClientDiscovery ;
11
- use Http \Discovery \StreamFactoryDiscovery ;
12
- use Http \Message \RequestFactory ;
13
- use Http \Message \StreamFactory ;
14
12
use Psr \Cache \CacheItemPoolInterface ;
15
13
use Psr \Http \Client \ClientInterface ;
14
+ use Psr \Http \Message \RequestFactoryInterface ;
15
+ use Psr \Http \Message \StreamFactoryInterface ;
16
16
17
17
/**
18
18
* A builder that builds the API client.
@@ -32,17 +32,17 @@ class Builder
32
32
/**
33
33
* A HTTP client with all our plugins.
34
34
*
35
- * @var HttpMethodsClient
35
+ * @var HttpMethodsClientInterface
36
36
*/
37
37
private $ pluginClient ;
38
38
39
39
/**
40
- * @var RequestFactory
40
+ * @var RequestFactoryInterface
41
41
*/
42
42
private $ requestFactory ;
43
43
44
44
/**
45
- * @var StreamFactory
45
+ * @var StreamFactoryInterface
46
46
*/
47
47
private $ streamFactory ;
48
48
@@ -73,22 +73,22 @@ class Builder
73
73
private $ headers = [];
74
74
75
75
/**
76
- * @param ClientInterface $httpClient
77
- * @param RequestFactory $requestFactory
78
- * @param StreamFactory $streamFactory
76
+ * @param ClientInterface|null $httpClient
77
+ * @param RequestFactoryInterface|null $requestFactory
78
+ * @param StreamFactoryInterface|null $streamFactory
79
79
*/
80
80
public function __construct (
81
81
ClientInterface $ httpClient = null ,
82
- RequestFactory $ requestFactory = null ,
83
- StreamFactory $ streamFactory = null
82
+ RequestFactoryInterface $ requestFactory = null ,
83
+ StreamFactoryInterface $ streamFactory = null
84
84
) {
85
- $ this ->httpClient = $ httpClient ?: Psr18ClientDiscovery::find ();
86
- $ this ->requestFactory = $ requestFactory ?: MessageFactoryDiscovery:: find ();
87
- $ this ->streamFactory = $ streamFactory ?: StreamFactoryDiscovery:: find ();
85
+ $ this ->httpClient = $ httpClient ?? Psr18ClientDiscovery::find ();
86
+ $ this ->requestFactory = $ requestFactory ?? Psr17FactoryDiscovery:: findRequestFactory ();
87
+ $ this ->streamFactory = $ streamFactory ?? Psr17FactoryDiscovery:: findStreamFactory ();
88
88
}
89
89
90
90
/**
91
- * @return HttpMethodsClient
91
+ * @return HttpMethodsClientInterface
92
92
*/
93
93
public function getHttpClient ()
94
94
{
0 commit comments