diff -r b29f490eb904 -r 2d5b5bcc3b9f mercurial/hgweb/wsgicgi.py --- a/mercurial/hgweb/wsgicgi.py Fri Apr 13 22:36:54 2018 -0400 +++ b/mercurial/hgweb/wsgicgi.py Fri Apr 13 23:11:46 2018 -0400 @@ -10,8 +10,10 @@ from __future__ import absolute_import +import os + from .. import ( - encoding, + pycompat, ) from ..utils import ( @@ -26,7 +28,7 @@ procutil.setbinary(procutil.stdin) procutil.setbinary(procutil.stdout) - environ = dict(encoding.environ.iteritems()) + environ = dict(os.environ.iteritems()) # re-exports environ.setdefault(r'PATH_INFO', '') if environ.get(r'SERVER_SOFTWARE', r'').startswith(r'Microsoft-IIS'): # IIS includes script_name in PATH_INFO @@ -61,9 +63,10 @@ elif not headers_sent: # Before the first output, send the stored headers status, response_headers = headers_sent[:] = headers_set - out.write('Status: %s\r\n' % status) - for header in response_headers: - out.write('%s: %s\r\n' % header) + out.write('Status: %s\r\n' % pycompat.bytesurl(status)) + for hk, hv in response_headers: + out.write('%s: %s\r\n' % (pycompat.bytesurl(hk), + pycompat.bytesurl(hv))) out.write('\r\n') out.write(data)