cookieJar = $cookieJar; $this->restrictedAccess = $restrictedAccess; $this->logger = $logger; } /** * @return \GuzzleHttp\Client|null */ public function buildHttpClient() { $this->logger->log('debug', 'Restricted access config enabled?', array('enabled' => (int) $this->restrictedAccess)); if (0 === (int) $this->restrictedAccess) { return; } // we clear the cookie to avoid websites who use cookies for analytics $this->cookieJar->clear(); // need to set the (shared) cookie jar $client = new Client(['handler' => new SafeCurlHandler(), 'defaults' => ['cookies' => $this->cookieJar]]); foreach ($this->subscribers as $subscriber) { $client->getEmitter()->attach($subscriber); } return $client; } /** * Adds a subscriber to the HTTP client. * * @param SubscriberInterface $subscriber */ public function addSubscriber(SubscriberInterface $subscriber) { $this->subscribers[] = $subscriber; } }