142 # FUTURE advertise 0.2rx once support is implemented |
143 # FUTURE advertise 0.2rx once support is implemented |
143 # FUTURE advertise minrx and mintx after consulting config option |
144 # FUTURE advertise minrx and mintx after consulting config option |
144 caps.append('httpmediatype=0.1rx,0.1tx,0.2tx') |
145 caps.append('httpmediatype=0.1rx,0.1tx,0.2tx') |
145 |
146 |
146 compengines = wireprototypes.supportedcompengines(repo.ui, |
147 compengines = wireprototypes.supportedcompengines(repo.ui, |
147 util.SERVERROLE) |
148 compression.SERVERROLE) |
148 if compengines: |
149 if compengines: |
149 comptypes = ','.join(urlreq.quote(e.wireprotosupport().name) |
150 comptypes = ','.join(urlreq.quote(e.wireprotosupport().name) |
150 for e in compengines) |
151 for e in compengines) |
151 caps.append('compression=%s' % comptypes) |
152 caps.append('compression=%s' % comptypes) |
152 |
153 |
318 # on the request parameters. |
319 # on the request parameters. |
319 |
320 |
320 if '0.2' in proto.getprotocaps(): |
321 if '0.2' in proto.getprotocaps(): |
321 # All clients are expected to support uncompressed data. |
322 # All clients are expected to support uncompressed data. |
322 if prefer_uncompressed: |
323 if prefer_uncompressed: |
323 return HGTYPE2, util._noopengine(), {} |
324 return HGTYPE2, compression._noopengine(), {} |
324 |
325 |
325 # Now find an agreed upon compression format. |
326 # Now find an agreed upon compression format. |
326 compformats = wireprotov1server.clientcompressionsupport(proto) |
327 compformats = wireprotov1server.clientcompressionsupport(proto) |
327 for engine in wireprototypes.supportedcompengines(ui, util.SERVERROLE): |
328 for engine in wireprototypes.supportedcompengines(ui, |
|
329 compression.SERVERROLE): |
328 if engine.wireprotosupport().name in compformats: |
330 if engine.wireprotosupport().name in compformats: |
329 opts = {} |
331 opts = {} |
330 level = ui.configint('server', '%slevel' % engine.name()) |
332 level = ui.configint('server', '%slevel' % engine.name()) |
331 if level is not None: |
333 if level is not None: |
332 opts['level'] = level |
334 opts['level'] = level |