33namespace Github \HttpClient ;
44
55use Http \Client \Common \HttpMethodsClient ;
6+ use Http \Client \Common \HttpMethodsClientInterface ;
67use Http \Client \Common \Plugin ;
78use Http \Client \Common \Plugin \Cache \Generator \HeaderCacheKeyGenerator ;
89use Http \Client \Common \PluginClientFactory ;
9- use Http \Discovery \MessageFactoryDiscovery ;
10+ use Http \Discovery \Psr17FactoryDiscovery ;
1011use Http \Discovery \Psr18ClientDiscovery ;
11- use Http \Discovery \StreamFactoryDiscovery ;
12- use Http \Message \RequestFactory ;
13- use Http \Message \StreamFactory ;
1412use Psr \Cache \CacheItemPoolInterface ;
1513use Psr \Http \Client \ClientInterface ;
14+ use Psr \Http \Message \RequestFactoryInterface ;
15+ use Psr \Http \Message \StreamFactoryInterface ;
1616
1717/**
1818 * A builder that builds the API client.
@@ -32,17 +32,17 @@ class Builder
3232 /**
3333 * A HTTP client with all our plugins.
3434 *
35- * @var HttpMethodsClient
35+ * @var HttpMethodsClientInterface
3636 */
3737 private $ pluginClient ;
3838
3939 /**
40- * @var RequestFactory
40+ * @var RequestFactoryInterface
4141 */
4242 private $ requestFactory ;
4343
4444 /**
45- * @var StreamFactory
45+ * @var StreamFactoryInterface
4646 */
4747 private $ streamFactory ;
4848
@@ -73,22 +73,22 @@ class Builder
7373 private $ headers = [];
7474
7575 /**
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
7979 */
8080 public function __construct (
8181 ClientInterface $ httpClient = null ,
82- RequestFactory $ requestFactory = null ,
83- StreamFactory $ streamFactory = null
82+ RequestFactoryInterface $ requestFactory = null ,
83+ StreamFactoryInterface $ streamFactory = null
8484 ) {
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 ();
8888 }
8989
9090 /**
91- * @return HttpMethodsClient
91+ * @return HttpMethodsClientInterface
9292 */
9393 public function getHttpClient ()
9494 {
0 commit comments