diff options
author | Lars-Dominik Braun <lars@6xq.net> | 2018-08-04 15:31:12 +0200 |
---|---|---|
committer | Lars-Dominik Braun <lars@6xq.net> | 2018-08-04 15:31:12 +0200 |
commit | fabd84cb10beab2b2e5aed7489fc04df9fda7e83 (patch) | |
tree | 6866d445b3efc2c5e98d1eec2c554696f71daa44 /crocoite/browser.py | |
parent | 6a6a7e80dc94b306cda8e5c93a2173b834ff5e3c (diff) | |
download | crocoite-fabd84cb10beab2b2e5aed7489fc04df9fda7e83.tar.gz crocoite-fabd84cb10beab2b2e5aed7489fc04df9fda7e83.tar.bz2 crocoite-fabd84cb10beab2b2e5aed7489fc04df9fda7e83.zip |
Properly handle failure to retrieve request body
Just truncate the WARC record like we do with responses. Also add a few
tests, but they’re not covering the call to getRequestPostData. Not sure
what we have to do here.
Diffstat (limited to 'crocoite/browser.py')
-rw-r--r-- | crocoite/browser.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/crocoite/browser.py b/crocoite/browser.py index fbd12fd..c3ef5ce 100644 --- a/crocoite/browser.py +++ b/crocoite/browser.py @@ -103,7 +103,8 @@ class Item: return postData.encode ('utf8'), False elif req.get ('hasPostData', False): try: - return b64decode (self.tab.Network.getRequestPostData (requestId=self.id, _timeout=10)['postData']), True + postData = self.tab.Network.getRequestPostData (requestId=self.id, _timeout=10)['postData'] + return b64decode (postData), True except (pychrome.exceptions.CallMethodException, pychrome.exceptions.TimeoutException): raise ValueError ('Cannot fetch request body') return None, False @@ -315,6 +316,7 @@ class SiteLoader: level = {'verbose': Level.DEBUG, 'info': Level.INFO, 'warning': Level.WARNING, 'error': Level.ERROR}.get (entry.pop ('level'), Level.INFO) + entry['uuid'] = 'e62ffb5a-0521-459c-a3d9-1124551934d2' self.logger (level, 'console', **entry) def _javascriptDialogOpening (self, **kwargs): |