/** * @return Client The guzzle client */ public function buildClientFactory() { $defaultConfig = ['defaults' => ['query' => ['api_key' => $this->key]]]; $client = new Client($defaultConfig); $client->setDefaultOption('verify', false); $description = new Description($this->getService()); $this->client = new GuzzleClient($client, $description); // Attach the throttle subscriber if ($this->throttle) { $this->client->getHttpClient()->getEmitter()->attach(new ThrottleSubscriber()); } // Attach the cache subscriber if ($this->caching) { $this->client->getHttpClient()->getEmitter()->attach(new CacheSubscriber($this->cacheDir)); } }