X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=src%2FWallabag%2FCoreBundle%2FHelper%2FHttpClientFactory.php;h=1ac8feb17b5c0aadb9c7744acca171d0eb47c9af;hb=2edc5395814c01fbd71c66234aa751092b913c2b;hp=3e1d1ed5d7f1f77273e0b4a89a61d5d13d82001a;hpb=7aab0ecf2f78ce58f28b53c1fa19bfd824cc3cd7;p=github%2Fwallabag%2Fwallabag.git diff --git a/src/Wallabag/CoreBundle/Helper/HttpClientFactory.php b/src/Wallabag/CoreBundle/Helper/HttpClientFactory.php index 3e1d1ed5..1ac8feb1 100644 --- a/src/Wallabag/CoreBundle/Helper/HttpClientFactory.php +++ b/src/Wallabag/CoreBundle/Helper/HttpClientFactory.php @@ -6,6 +6,7 @@ use Graby\Ring\Client\SafeCurlHandler; use GuzzleHttp\Client; use GuzzleHttp\Cookie\CookieJar; use GuzzleHttp\Event\SubscriberInterface; +use Psr\Log\LoggerInterface; /** * Builds and configures the Guzzle HTTP client. @@ -18,23 +19,38 @@ class HttpClientFactory /** @var \GuzzleHttp\Cookie\CookieJar */ private $cookieJar; + private $restrictedAccess; + private $logger; + /** * HttpClientFactory constructor. * * @param \GuzzleHttp\Event\SubscriberInterface $authenticatorSubscriber * @param \GuzzleHttp\Cookie\CookieJar $cookieJar + * @param string $restrictedAccess this param is a kind of boolean. Values: 0 or 1 + * @param LoggerInterface $logger */ - public function __construct(SubscriberInterface $authenticatorSubscriber, CookieJar $cookieJar) + public function __construct(SubscriberInterface $authenticatorSubscriber, CookieJar $cookieJar, $restrictedAccess, LoggerInterface $logger) { $this->authenticatorSubscriber = $authenticatorSubscriber; $this->cookieJar = $cookieJar; + $this->restrictedAccess = $restrictedAccess; + $this->logger = $logger; } /** - * @return \GuzzleHttp\Client + * @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]]); $client->getEmitter()->attach($this->authenticatorSubscriber);