D4835: py3: use system strings for HTTP response header comparison
indygreg (Gregory Szorc)
phabricator at mercurial-scm.org
Tue Oct 2 06:18:10 UTC 2018
indygreg created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
res.headers is holding system strings. Attempting to compare against
bytes always fails and we fail to print decoded CBOR responses on
Python 3.
After this change, various test-wireproto* tests are now properly
printing CBOR response objects.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D4835
AFFECTED FILES
mercurial/debugcommands.py
CHANGE DETAILS
diff --git a/mercurial/debugcommands.py b/mercurial/debugcommands.py
--- a/mercurial/debugcommands.py
+++ b/mercurial/debugcommands.py
@@ -3324,7 +3324,8 @@
getattr(e, 'read', lambda: None)()
continue
- if res.headers.get('Content-Type') == 'application/mercurial-cbor':
+ ct = res.headers.get(r'Content-Type')
+ if ct == r'application/mercurial-cbor':
ui.write(_('cbor> %s\n') %
stringutil.pprint(cborutil.decodeall(body)[0],
bprefix=True,
To: indygreg, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list