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) |