Commits

mickael9 committed 5e4bc5a

Improve debugging when invalid JSON is returned, and show status codes with -D

Comments (0)

Files changed (1)

     return _request(request)
 
 def _request(req):
-    try:
-        resp = urlopen(req).read()
-    except HTTPError as ex:
-        resp = ex.read()
-
-    result = json.loads(resp.decode('utf-8'))
-
     if DEBUG:
         print('--------------------------------------------------------------------------------')
         print("%s request to %s -->" % (req.get_method(), req.full_url))
         if req.data:
             print('data: ' + req.data.decode('utf-8'))
 
-        print('result:')
+    try:
+        resp = urlopen(req)
+        raw = resp.read()
+    except HTTPError as ex:
+        resp = ex
+        raw = ex.read()
+
+    raw = raw.decode('utf-8')
+
+    try:
+        result = json.loads(raw)
+    except:
+        print('Error: unable to decode JSON: %s' % raw)
+        raise
+
+    if DEBUG:
+        print('response (%d):' % resp.status)
 
         pprint.pprint(result)
         print()
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.