]> git.mxchange.org Git - friendica.git/blobdiff - src/Factory/HTTPClientFactory.php
Fix HTTPClient
[friendica.git] / src / Factory / HTTPClientFactory.php
index c1cb47541407d9bb32bc95990a444e61697b39e2..040ad75141b37781ec88cd90b1b93ad88cd3c1f0 100644 (file)
@@ -9,6 +9,7 @@ use Friendica\Network\HTTPClient;
 use Friendica\Network\IHTTPClient;
 use Friendica\Util\Profiler;
 use GuzzleHttp\Client;
+use GuzzleHttp\HandlerStack;
 use GuzzleHttp\RequestOptions;
 use mattwright\URLResolver;
 use Psr\Http\Message\RequestInterface;
@@ -33,7 +34,14 @@ class HTTPClientFactory extends BaseFactory
                $this->baseUrl  = $baseUrl;
        }
 
-       public function createClient(): IHTTPClient
+       /**
+        * Creates a IHTTPClient for communications with HTTP endpoints
+        *
+        * @param HandlerStack|null $handlerStack (optional) A handler replacement (just usefull at test environments)
+        *
+        * @return IHTTPClient
+        */
+       public function createClient(HandlerStack $handlerStack = null): IHTTPClient
        {
                $proxy = $this->config->get('system', 'proxy');
 
@@ -84,6 +92,7 @@ class HTTPClientFactory extends BaseFactory
                        RequestOptions::HEADERS => [
                                'User-Agent' => $userAgent,
                        ],
+                       'handler' => $handlerStack ?? HandlerStack::create(),
                ]);
 
                $resolver = new URLResolver();