]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - src/Wallabag/CoreBundle/Helper/HttpClientFactory.php
Merge pull request #2750 from wallabag/rename-uuid
[github/wallabag/wallabag.git] / src / Wallabag / CoreBundle / Helper / HttpClientFactory.php
index 3e1d1ed5d7f1f77273e0b4a89a61d5d13d82001a..8891887b6e97d1a68ad3f783f130ac49879261d6 100644 (file)
@@ -18,23 +18,33 @@ class HttpClientFactory
     /** @var \GuzzleHttp\Cookie\CookieJar */
     private $cookieJar;
 
+    private $restrictedAccess;
+
     /**
      * 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
      */
-    public function __construct(SubscriberInterface $authenticatorSubscriber, CookieJar $cookieJar)
+    public function __construct(SubscriberInterface $authenticatorSubscriber, CookieJar $cookieJar, $restrictedAccess)
     {
         $this->authenticatorSubscriber = $authenticatorSubscriber;
         $this->cookieJar = $cookieJar;
+        $this->restrictedAccess = $restrictedAccess;
     }
 
     /**
-     * @return \GuzzleHttp\Client
+     * @return \GuzzleHttp\Client|null
      */
     public function buildHttpClient()
     {
+        if (0 === (int) $this->restrictedAccess) {
+            return null;
+        }
+
+        // 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);