Mercurial > public > mercurial-scm > hg
comparison mercurial/httppeer.py @ 28486:50314dc3ae4e
httppeer: compute header names only once
This also helps make the code a little more readable.
author | Augie Fackler <augie@google.com> |
---|---|
date | Fri, 11 Mar 2016 11:51:22 -0500 |
parents | d3893900f6c8 |
children | fd2acc5046f6 |
comparison
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) |