--- a/mercurial/wireprotoserver.py Wed Mar 28 10:52:40 2018 -0700
+++ b/mercurial/wireprotoserver.py Wed Mar 28 14:55:13 2018 -0700
@@ -12,6 +12,9 @@
import threading
from .i18n import _
+from .thirdparty import (
+ cbor,
+)
from .thirdparty.zope import (
interface as zi,
)
@@ -563,6 +566,12 @@
action, meta = reactor.onbytesresponseready(outstream,
command['requestid'],
rsp.data)
+ elif isinstance(rsp, wireprototypes.cborresponse):
+ encoded = cbor.dumps(rsp.value, canonical=True)
+ action, meta = reactor.onbytesresponseready(outstream,
+ command['requestid'],
+ encoded,
+ iscbor=True)
else:
action, meta = reactor.onapplicationerror(
_('unhandled response type from wire proto command'))
@@ -600,10 +609,10 @@
for k in args.split():
if k == '*':
raise NotImplementedError('do not support * args')
- else:
+ elif k in self._args:
data[k] = self._args[k]
- return [data[k] for k in args.split()]
+ return data
def getprotocaps(self):
# Protocol capabilities are currently not implemented for HTTP V2.