mercurial/httppeer.py
changeset 37555 930c433eb311
parent 37554 301a1d2e8016
child 37556 b77aa48ba690
--- a/mercurial/httppeer.py	Tue Apr 10 13:41:21 2018 -0700
+++ b/mercurial/httppeer.py	Tue Apr 10 16:53:44 2018 -0700
@@ -158,7 +158,6 @@
     ui.debug("sending %s command\n" % cmd)
     q = [('cmd', cmd)]
     headersize = 0
-    varyheaders = []
     # Important: don't use self.capable() here or else you end up
     # with infinite recursion when trying to look up capabilities
     # for the first time.
@@ -194,7 +193,6 @@
             for header, value in encodevalueinheaders(encargs, 'X-HgArg',
                                                       headersize):
                 headers[header] = value
-                varyheaders.append(header)
         # Send arguments via query string (Mercurial <1.9).
         else:
             q += sorted(args.items())
@@ -238,10 +236,14 @@
                                             headersize or 1024)
         for header, value in protoheaders:
             headers[header] = value
+
+    varyheaders = []
+    for header in headers:
+        if header.lower().startswith(r'x-hg'):
             varyheaders.append(header)
 
     if varyheaders:
-        headers[r'Vary'] = r','.join(varyheaders)
+        headers[r'Vary'] = r','.join(sorted(varyheaders))
 
     req = requestbuilder(pycompat.strurl(cu), data, headers)