mercurial/httppeer.py
changeset 28486 50314dc3ae4e
parent 28485 d3893900f6c8
child 28530 fd2acc5046f6
equal deleted inserted replaced
28485:d3893900f6c8 28486:50314dc3ae4e
   106                 # The headers can typically carry more data than the URL.
   106                 # The headers can typically carry more data than the URL.
   107                 encargs = urllib.urlencode(sorted(args.items()))
   107                 encargs = urllib.urlencode(sorted(args.items()))
   108                 headerfmt = 'X-HgArg-%s'
   108                 headerfmt = 'X-HgArg-%s'
   109                 contentlen = headersize - len(headerfmt % '000' + ': \r\n')
   109                 contentlen = headersize - len(headerfmt % '000' + ': \r\n')
   110                 headernum = 0
   110                 headernum = 0
       
   111                 varyheaders = []
   111                 for i in xrange(0, len(encargs), contentlen):
   112                 for i in xrange(0, len(encargs), contentlen):
   112                     headernum += 1
   113                     headernum += 1
   113                     header = headerfmt % str(headernum)
   114                     header = headerfmt % str(headernum)
   114                     headers[header] = encargs[i:i + contentlen]
   115                     headers[header] = encargs[i:i + contentlen]
   115                 varyheaders = [
   116                     varyheaders.append(header)
   116                     headerfmt % str(h) for h in range(1, headernum + 1)]
       
   117                 headers['Vary'] = ','.join(varyheaders)
   117                 headers['Vary'] = ','.join(varyheaders)
   118             else:
   118             else:
   119                 q += sorted(args.items())
   119                 q += sorted(args.items())
   120         qs = '?%s' % urllib.urlencode(q)
   120         qs = '?%s' % urllib.urlencode(q)
   121         cu = "%s%s" % (self._url, qs)
   121         cu = "%s%s" % (self._url, qs)