[PATCH 02 of 11] py3: add b'' prefixes to the LFS server module
Matt Harbison
mharbison72 at gmail.com
Mon Jan 28 00:20:48 EST 2019
# HG changeset patch
# User Matt Harbison <matt_harbison at yahoo.com>
# Date 1548567416 18000
# Sun Jan 27 00:36:56 2019 -0500
# Node ID 7768ad6f53d8e08e90918e50201fc2fab4f9eff6
# Parent 2b6e1f299ac278097680b54134f87c12e90bf909
py3: add b'' prefixes to the LFS server module
There are a ton of these changes in the blobstore, as well as r'' prefixing. So
separating these out hopefully makes review easier.
# skip-blame for b'' prefixing
diff --git a/hgext/lfs/wireprotolfsserver.py b/hgext/lfs/wireprotolfsserver.py
--- a/hgext/lfs/wireprotolfsserver.py
+++ b/hgext/lfs/wireprotolfsserver.py
@@ -43,7 +43,7 @@ def handlewsgirequest(orig, rctx, req, r
if orig(rctx, req, res, checkperm):
return True
- if not rctx.repo.ui.configbool('experimental', 'lfs.serve'):
+ if not rctx.repo.ui.configbool(b'experimental', b'lfs.serve'):
return False
if not util.safehasattr(rctx.repo.svfs, 'lfslocalblobstore'):
@@ -54,7 +54,7 @@ def handlewsgirequest(orig, rctx, req, r
try:
if req.dispatchpath == b'.git/info/lfs/objects/batch':
- checkperm(rctx, req, 'pull')
+ checkperm(rctx, req, b'pull')
return _processbatchrequest(rctx.repo, req, res)
# TODO: reserve and use a path in the proposed http wireprotocol /api/
# namespace?
@@ -81,7 +81,7 @@ def _sethttperror(res, code, message=Non
def _logexception(req):
"""Write information about the current exception to wsgi.errors."""
tb = pycompat.sysbytes(traceback.format_exc())
- errorlog = req.rawenv[r'wsgi.errors']
+ errorlog = req.rawenv[b'wsgi.errors']
uri = b''
if req.apppath:
@@ -209,7 +209,7 @@ def _batchresponseobjects(req, objects,
# verified as the file is streamed to the caller.
try:
verifies = store.verify(oid)
- if verifies and action == 'upload':
+ if verifies and action == b'upload':
# The client will skip this upload, but make sure it remains
# available locally.
store.linkfromusercache(oid)
@@ -228,7 +228,7 @@ def _batchresponseobjects(req, objects,
# Items are always listed for downloads. They are dropped for uploads
# IFF they already exist locally.
- if action == 'download':
+ if action == b'download':
if not exists:
rsp['error'] = {
'code': 404,
@@ -259,8 +259,8 @@ def _batchresponseobjects(req, objects,
'Accept': 'application/vnd.git-lfs'
}
- auth = req.headers.get('Authorization', '')
- if auth.startswith('Basic '):
+ auth = req.headers.get(b'Authorization', b'')
+ if auth.startswith(b'Basic '):
hdr['Authorization'] = auth
return hdr
@@ -297,7 +297,7 @@ def _processbasictransfer(repo, req, res
return True
if method == b'PUT':
- checkperm('upload')
+ checkperm(b'upload')
# TODO: verify Content-Type?
@@ -324,7 +324,7 @@ def _processbasictransfer(repo, req, res
return True
elif method == b'GET':
- checkperm('pull')
+ checkperm(b'pull')
res.status = hgwebcommon.statusmessage(HTTP_OK)
res.headers[b'Content-Type'] = b'application/octet-stream'
More information about the Mercurial-devel
mailing list