/** * Client constructor. * @param string $host * @param string $version * @param array $guzzleOptions */ public function __construct(Auth $auth, $host, $version = Crowdsdom::DEFAULT_API_VERSION, array $guzzleOptions = []) { $this->auth = $auth; $this->host = $host; $this->version = $version; $stack = HandlerStack::create(); $stack->push($auth->authMiddleware()); $stack->push(static::versionMiddleware($version)); $this->guzzle = new \GuzzleHttp\Client(array_merge(['base_uri' => $host, 'handler' => $stack], $guzzleOptions)); }