2909 |
2908 |
2910 opener = urlmod.opener(ui, authinfo, **openerargs) |
2909 opener = urlmod.opener(ui, authinfo, **openerargs) |
2911 |
2910 |
2912 if opts['peer'] == 'http2': |
2911 if opts['peer'] == 'http2': |
2913 ui.write(_('creating http peer for wire protocol version 2\n')) |
2912 ui.write(_('creating http peer for wire protocol version 2\n')) |
2914 peer = httppeer.httpv2peer( |
2913 # We go through makepeer() because we need an API descriptor for |
2915 ui, path, 'api/%s' % wireprototypes.HTTP_WIREPROTO_V2, |
2914 # the peer instance to be useful. |
2916 opener, httppeer.urlreq.request, {}) |
2915 with ui.configoverride({ |
|
2916 ('experimental', 'httppeer.advertise-v2'): True}): |
|
2917 peer = httppeer.makepeer(ui, path, opener=opener) |
|
2918 |
|
2919 if not isinstance(peer, httppeer.httpv2peer): |
|
2920 raise error.Abort(_('could not instantiate HTTP peer for ' |
|
2921 'wire protocol version 2'), |
|
2922 hint=_('the server may not have the feature ' |
|
2923 'enabled or is not allowing this ' |
|
2924 'client version')) |
|
2925 |
2917 elif opts['peer'] == 'raw': |
2926 elif opts['peer'] == 'raw': |
2918 ui.write(_('using raw connection to peer\n')) |
2927 ui.write(_('using raw connection to peer\n')) |
2919 peer = None |
2928 peer = None |
2920 elif opts['peer']: |
2929 elif opts['peer']: |
2921 raise error.Abort(_('--peer %s not supported with HTTP peers') % |
2930 raise error.Abort(_('--peer %s not supported with HTTP peers') % |