diff hgext/lfs/wireprotolfsserver.py @ 43380:579672b347d2 stable

py3: define and use json.loads polyfill Python 3.5's json.loads() requires a str. Only Python 3.6+ supports passing a bytes or bytearray. This commit implements a json.loads() polyfill on Python 3.5 so that we can use bytes. The added function to detect encodings comes verbatim from Python 3.7.
author Gregory Szorc <gregory.szorc@gmail.com>
date Sat, 02 Nov 2019 12:09:35 -0700
parents 4aa72cdf616f
children 313e3a279828
line wrap: on
line diff
--- a/hgext/lfs/wireprotolfsserver.py	Sat Nov 02 11:48:38 2019 -0700
+++ b/hgext/lfs/wireprotolfsserver.py	Sat Nov 02 12:09:35 2019 -0700
@@ -133,7 +133,7 @@
         return True
 
     # XXX: specify an encoding?
-    lfsreq = json.loads(req.bodyfh.read())
+    lfsreq = pycompat.json_loads(req.bodyfh.read())
 
     # If no transfer handlers are explicitly requested, 'basic' is assumed.
     if r'basic' not in lfsreq.get(r'transfers', [r'basic']):