--- a/mercurial/httppeer.py Fri Jan 12 10:14:20 2018 +0000
+++ b/mercurial/httppeer.py Fri Jan 12 10:41:03 2018 +0000
@@ -162,7 +162,39 @@
getattr(h, "close_all", lambda: None)()
def _openurl(self, req):
- return self._urlopener.open(req)
+ if (self._ui.debugflag
+ and self._ui.configbool('devel', 'debug.peer-request')):
+ dbg = self._ui.debug
+ line = 'devel-peer-request: %s\n'
+ dbg(line % '%s %s' % (req.get_method(), req.get_full_url()))
+ hgargssize = None
+
+ for header, value in sorted(req.header_items()):
+ if header.startswith('X-hgarg-'):
+ if hgargssize is None:
+ hgargssize = 0
+ hgargssize += len(value)
+ else:
+ dbg(line % ' %s %s' % (header, value))
+
+ if hgargssize is not None:
+ dbg(line % ' %d bytes of commands arguments in headers'
+ % hgargssize)
+
+ if req.has_data():
+ data = req.get_data()
+ length = getattr(data, 'length', None)
+ if length is None:
+ length = len(data)
+ dbg(line % ' %d bytes of data' % length)
+
+ start = util.timer()
+
+ ret = self._urlopener.open(req)
+ if self._ui.configbool('devel', 'debug.peer-request'):
+ dbg(line % ' finished in %.4f seconds (%s)'
+ % (util.timer() - start, ret.code))
+ return ret
# Begin of _basepeer interface.