diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Wallabag/CoreBundle/Helper/FileCookieJar.php | 19 | ||||
-rw-r--r-- | src/Wallabag/CoreBundle/Resources/config/services.yml | 4 |
2 files changed, 22 insertions, 1 deletions
diff --git a/src/Wallabag/CoreBundle/Helper/FileCookieJar.php b/src/Wallabag/CoreBundle/Helper/FileCookieJar.php index 52c7f5de..9a63e949 100644 --- a/src/Wallabag/CoreBundle/Helper/FileCookieJar.php +++ b/src/Wallabag/CoreBundle/Helper/FileCookieJar.php | |||
@@ -5,6 +5,7 @@ namespace Wallabag\CoreBundle\Helper; | |||
5 | use GuzzleHttp\Cookie\FileCookieJar as BaseFileCookieJar; | 5 | use GuzzleHttp\Cookie\FileCookieJar as BaseFileCookieJar; |
6 | use GuzzleHttp\Cookie\SetCookie; | 6 | use GuzzleHttp\Cookie\SetCookie; |
7 | use GuzzleHttp\Utils; | 7 | use GuzzleHttp\Utils; |
8 | use Psr\Log\LoggerInterface; | ||
8 | 9 | ||
9 | /** | 10 | /** |
10 | * Overidden Cookie behavior to: | 11 | * Overidden Cookie behavior to: |
@@ -13,6 +14,19 @@ use GuzzleHttp\Utils; | |||
13 | */ | 14 | */ |
14 | class FileCookieJar extends BaseFileCookieJar | 15 | class FileCookieJar extends BaseFileCookieJar |
15 | { | 16 | { |
17 | private $logger; | ||
18 | |||
19 | /** | ||
20 | * @param LoggerInterface $logger Only used to log info when something goes wrong | ||
21 | * @param string $cookieFile File to store the cookie data | ||
22 | */ | ||
23 | public function __construct(LoggerInterface $logger, $cookieFile) | ||
24 | { | ||
25 | parent::__construct($cookieFile); | ||
26 | |||
27 | $this->logger = $logger; | ||
28 | } | ||
29 | |||
16 | /** | 30 | /** |
17 | * Saves the cookies to a file. | 31 | * Saves the cookies to a file. |
18 | * | 32 | * |
@@ -57,6 +71,11 @@ class FileCookieJar extends BaseFileCookieJar | |||
57 | try { | 71 | try { |
58 | $data = Utils::jsonDecode($json, true); | 72 | $data = Utils::jsonDecode($json, true); |
59 | } catch (\InvalidArgumentException $e) { | 73 | } catch (\InvalidArgumentException $e) { |
74 | $this->logger->error('JSON inside the cookie is broken', [ | ||
75 | 'json' => $json, | ||
76 | 'error_msg' => $e->getMessage(), | ||
77 | ]); | ||
78 | |||
60 | // cookie file is invalid, just ignore the exception and it'll reset the whole cookie file | 79 | // cookie file is invalid, just ignore the exception and it'll reset the whole cookie file |
61 | $data = ''; | 80 | $data = ''; |
62 | } | 81 | } |
diff --git a/src/Wallabag/CoreBundle/Resources/config/services.yml b/src/Wallabag/CoreBundle/Resources/config/services.yml index 169b67e5..3f3d4de7 100644 --- a/src/Wallabag/CoreBundle/Resources/config/services.yml +++ b/src/Wallabag/CoreBundle/Resources/config/services.yml | |||
@@ -83,7 +83,9 @@ services: | |||
83 | 83 | ||
84 | wallabag_core.guzzle.cookie_jar: | 84 | wallabag_core.guzzle.cookie_jar: |
85 | class: Wallabag\CoreBundle\Helper\FileCookieJar | 85 | class: Wallabag\CoreBundle\Helper\FileCookieJar |
86 | arguments: ["%kernel.cache_dir%/cookiejar.json"] | 86 | arguments: |
87 | - "@logger" | ||
88 | - "%kernel.cache_dir%/cookiejar.json" | ||
87 | 89 | ||
88 | wallabag_core.content_proxy: | 90 | wallabag_core.content_proxy: |
89 | class: Wallabag\CoreBundle\Helper\ContentProxy | 91 | class: Wallabag\CoreBundle\Helper\ContentProxy |