diff mercurial/debugcommands.py @ 37045:a708e1e4d7a8

url: support suppressing Accept header Sending this header automatically could interfere with future testing and client behavior. Let's add a knob to disable the behavior. We don't have a control for User-Agent because urllib will send it if we don't set something. I don't feel like hacking into the bowels of urllib to figure out how to suppress that. UA shouldn't be used for anything meaningful. So it shouldn't pose any problems beyond non-determinism (since the header has the Mercurial version in it). Differential Revision: https://phab.mercurial-scm.org/D2843
author Gregory Szorc <gregory.szorc@gmail.com>
date Tue, 13 Mar 2018 10:34:36 -0700
parents d3a9036d9ae9
children fddcb51b5084
line wrap: on
line diff
--- a/mercurial/debugcommands.py	Tue Mar 13 11:20:07 2018 -0700
+++ b/mercurial/debugcommands.py	Tue Mar 13 10:34:36 2018 -0700
@@ -2846,6 +2846,12 @@
         if ui.debugflag:
             openerargs[r'loggingopts'][r'logdataapis'] = True
 
+        # Don't send default headers when in raw mode. This allows us to
+        # bypass most of the behavior of our URL handling code so we can
+        # have near complete control over what's sent on the wire.
+        if opts['peer'] == 'raw':
+            openerargs[r'sendaccept'] = False
+
         opener = urlmod.opener(ui, authinfo, **openerargs)
 
         if opts['peer'] == 'raw':