512 def _abort(self, exception): |
512 def _abort(self, exception): |
513 raise exception |
513 raise exception |
514 |
514 |
515 def sendv2request(ui, opener, requestbuilder, apiurl, permission, requests, |
515 def sendv2request(ui, opener, requestbuilder, apiurl, permission, requests, |
516 redirect): |
516 redirect): |
|
517 wireprotoframing.populatestreamencoders() |
|
518 |
|
519 uiencoders = ui.configlist(b'experimental', b'httppeer.v2-encoder-order') |
|
520 |
|
521 if uiencoders: |
|
522 encoders = [] |
|
523 |
|
524 for encoder in uiencoders: |
|
525 if encoder not in wireprotoframing.STREAM_ENCODERS: |
|
526 ui.warn(_(b'wire protocol version 2 encoder referenced in ' |
|
527 b'config (%s) is not known; ignoring\n') % encoder) |
|
528 else: |
|
529 encoders.append(encoder) |
|
530 |
|
531 else: |
|
532 encoders = wireprotoframing.STREAM_ENCODERS_ORDER |
|
533 |
517 reactor = wireprotoframing.clientreactor(ui, |
534 reactor = wireprotoframing.clientreactor(ui, |
518 hasmultiplesend=False, |
535 hasmultiplesend=False, |
519 buffersends=True) |
536 buffersends=True, |
|
537 clientcontentencoders=encoders) |
520 |
538 |
521 handler = wireprotov2peer.clienthandler(ui, reactor, |
539 handler = wireprotov2peer.clienthandler(ui, reactor, |
522 opener=opener, |
540 opener=opener, |
523 requestbuilder=requestbuilder) |
541 requestbuilder=requestbuilder) |
524 |
542 |