Skip to content

Commit ac3ca5c

Browse files
Handler stack factory (#382)
* Changed guzzle final HandlerStack extension to factory class HandlerStackFactory --------- Co-authored-by: k0ka <[email protected]> Co-authored-by: jarragon-slash2 <[email protected]>
1 parent cb8caff commit ac3ca5c

File tree

4 files changed

+14
-12
lines changed

4 files changed

+14
-12
lines changed

src/Common/Service/Builder.php

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,11 @@
66

77
use GuzzleHttp\Client;
88
use GuzzleHttp\ClientInterface;
9+
use GuzzleHttp\HandlerStack;
910
use GuzzleHttp\Middleware as GuzzleMiddleware;
1011
use OpenStack\Common\Auth\IdentityService;
1112
use OpenStack\Common\Auth\Token;
12-
use OpenStack\Common\Transport\HandlerStack;
13+
use OpenStack\Common\Transport\HandlerStackFactory;
1314
use OpenStack\Common\Transport\Middleware;
1415
use OpenStack\Common\Transport\Utils;
1516

@@ -79,7 +80,7 @@ public function createService(string $namespace, array $serviceOptions = []): Se
7980
$this->stockAuthHandler($options);
8081
$this->stockHttpClient($options, $namespace);
8182

82-
list($apiClass, $serviceClass) = $this->getClasses($namespace);
83+
[$apiClass, $serviceClass] = $this->getClasses($namespace);
8384

8485
return new $serviceClass($options['httpClient'], new $apiClass());
8586
}
@@ -91,7 +92,7 @@ private function stockHttpClient(array &$options, string $serviceName)
9192
$baseUrl = $options['authUrl'];
9293
$stack = $this->getStack($options['authHandler']);
9394
} else {
94-
list($token, $baseUrl) = $options['identityService']->authenticate($options);
95+
[$token, $baseUrl] = $options['identityService']->authenticate($options);
9596
$stack = $this->getStack($options['authHandler'], $token);
9697
}
9798

@@ -130,7 +131,7 @@ private function stockAuthHandler(array &$options)
130131

131132
private function getStack(callable $authHandler, Token $token = null): HandlerStack
132133
{
133-
$stack = HandlerStack::create();
134+
$stack = HandlerStackFactory::create();
134135
$stack->push(Middleware::authHandler($authHandler, $token));
135136

136137
return $stack;

src/Common/Transport/HandlerStack.php renamed to src/Common/Transport/HandlerStackFactory.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@
44

55
namespace OpenStack\Common\Transport;
66

7-
use GuzzleHttp\HandlerStack as GuzzleStack;
7+
use GuzzleHttp\HandlerStack;
88
use GuzzleHttp\Utils;
99

10-
class HandlerStack extends GuzzleStack
10+
class HandlerStackFactory
1111
{
12-
public static function create(callable $handler = null): GuzzleStack
12+
public static function create(callable $handler = null): HandlerStack
1313
{
14-
$stack = new self($handler ?: Utils::chooseHandler());
14+
$stack = new HandlerStack($handler ?: Utils::chooseHandler());
1515
$stack->push(Middleware::httpErrors(), 'http_errors');
1616
$stack->push(Middleware::prepareBody(), 'prepare_body');
1717

src/OpenStack.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
use GuzzleHttp\Client;
88
use GuzzleHttp\Middleware as GuzzleMiddleware;
99
use OpenStack\Common\Service\Builder;
10-
use OpenStack\Common\Transport\HandlerStack;
10+
use OpenStack\Common\Transport\HandlerStackFactory;
1111
use OpenStack\Common\Transport\Utils;
1212
use OpenStack\Identity\v3\Service;
1313

@@ -49,7 +49,7 @@ private function getDefaultIdentityService(array $options): Service
4949
throw new \InvalidArgumentException("'authUrl' is a required option");
5050
}
5151

52-
$stack = HandlerStack::create();
52+
$stack = HandlerStackFactory::create();
5353

5454
if (!empty($options['debugLog'])
5555
&& !empty($options['logger'])

tests/unit/Common/Transport/HandlerStackTest.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,14 @@
33
namespace OpenStack\Test\Common\Transport;
44

55
use GuzzleHttp\Handler\MockHandler;
6-
use OpenStack\Common\Transport\HandlerStack;
6+
use GuzzleHttp\HandlerStack;
7+
use OpenStack\Common\Transport\HandlerStackFactory;
78
use OpenStack\Test\TestCase;
89

910
class HandlerStackTest extends TestCase
1011
{
1112
public function test_it_is_created()
1213
{
13-
self::assertInstanceOf(HandlerStack::class, HandlerStack::create(new MockHandler()));
14+
self::assertInstanceOf(HandlerStack::class, HandlerStackFactory::create(new MockHandler()));
1415
}
1516
}

0 commit comments

Comments
 (0)