D2295: py3: get bytes-repr of network errors portably
durin42 (Augie Fackler)
phabricator at mercurial-scm.org
Sat Feb 17 04:54:21 EST 2018
This revision was automatically updated to reflect the committed changes.
Closed by commit rHGc57892ccbb41: py3: get bytes-repr of network errors portably (authored by durin42, committed by ).
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D2295?vs=5800&id=5806
REVISION DETAIL
https://phab.mercurial-scm.org/D2295
AFFECTED FILES
mercurial/hgweb/hgweb_mod.py
mercurial/hgweb/request.py
mercurial/hgweb/webutil.py
mercurial/wireproto.py
mercurial/wireprotoserver.py
CHANGE DETAILS
diff --git a/mercurial/wireprotoserver.py b/mercurial/wireprotoserver.py
--- a/mercurial/wireprotoserver.py
+++ b/mercurial/wireprotoserver.py
@@ -339,7 +339,7 @@
# TODO This response body assumes the failed command was
# "unbundle." That assumption is not always valid.
- req.respond(e, HGTYPE, body='0\n%s\n' % e)
+ req.respond(e, HGTYPE, body='0\n%s\n' % pycompat.bytestr(e))
return ''
diff --git a/mercurial/wireproto.py b/mercurial/wireproto.py
--- a/mercurial/wireproto.py
+++ b/mercurial/wireproto.py
@@ -879,11 +879,11 @@
# cleanly forward Abort error to the client
if not exchange.bundle2requested(opts.get('bundlecaps')):
if proto.name == 'http-v1':
- return ooberror(str(exc) + '\n')
+ return ooberror(pycompat.bytestr(exc) + '\n')
raise # cannot do better for bundle1 + ssh
# bundle2 request expect a bundle2 reply
bundler = bundle2.bundle20(repo.ui)
- manargs = [('message', str(exc))]
+ manargs = [('message', pycompat.bytestr(exc))]
advargs = []
if exc.hint is not None:
advargs.append(('hint', exc.hint))
diff --git a/mercurial/hgweb/webutil.py b/mercurial/hgweb/webutil.py
--- a/mercurial/hgweb/webutil.py
+++ b/mercurial/hgweb/webutil.py
@@ -347,7 +347,7 @@
try:
return util.processlinerange(fromline, toline)
except error.ParseError as exc:
- raise ErrorResponse(HTTP_BAD_REQUEST, str(exc))
+ raise ErrorResponse(HTTP_BAD_REQUEST, pycompat.bytestr(exc))
def formatlinerange(fromline, toline):
return '%d:%d' % (fromline + 1, toline)
diff --git a/mercurial/hgweb/request.py b/mercurial/hgweb/request.py
--- a/mercurial/hgweb/request.py
+++ b/mercurial/hgweb/request.py
@@ -121,7 +121,8 @@
elif isinstance(status, int):
status = statusmessage(status)
- self.server_write = self._start_response(status, self.headers)
+ self.server_write = self._start_response(
+ pycompat.sysstr(status), self.headers)
self._start_response = None
self.headers = []
if body is not None:
diff --git a/mercurial/hgweb/hgweb_mod.py b/mercurial/hgweb/hgweb_mod.py
--- a/mercurial/hgweb/hgweb_mod.py
+++ b/mercurial/hgweb/hgweb_mod.py
@@ -443,20 +443,20 @@
except (error.LookupError, error.RepoLookupError) as err:
req.respond(HTTP_NOT_FOUND, ctype)
- msg = str(err)
+ msg = pycompat.bytestr(err)
if (util.safehasattr(err, 'name') and
not isinstance(err, error.ManifestLookupError)):
msg = 'revision not found: %s' % err.name
return tmpl('error', error=msg)
except (error.RepoError, error.RevlogError) as inst:
req.respond(HTTP_SERVER_ERROR, ctype)
- return tmpl('error', error=str(inst))
+ return tmpl('error', error=pycompat.bytestr(inst))
except ErrorResponse as inst:
req.respond(inst, ctype)
if inst.code == HTTP_NOT_MODIFIED:
# Not allowed to return a body on a 304
return ['']
- return tmpl('error', error=str(inst))
+ return tmpl('error', error=pycompat.bytestr(inst))
def check_perm(self, rctx, req, op):
for permhook in permhooks:
To: durin42, #hg-reviewers
Cc: pulkit, mercurial-devel
More information about the Mercurial-devel
mailing list