summaryrefslogtreecommitdiff
path: root/crocoite/browser.py
diff options
context:
space:
mode:
authorLars-Dominik Braun <lars@6xq.net>2018-08-04 15:31:12 +0200
committerLars-Dominik Braun <lars@6xq.net>2018-08-04 15:31:12 +0200
commitfabd84cb10beab2b2e5aed7489fc04df9fda7e83 (patch)
tree6866d445b3efc2c5e98d1eec2c554696f71daa44 /crocoite/browser.py
parent6a6a7e80dc94b306cda8e5c93a2173b834ff5e3c (diff)
downloadcrocoite-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.py4
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):