diff -r 01361be9e2dc -r 55b5ba8d4e68 mercurial/httppeer.py --- a/mercurial/httppeer.py Mon Apr 09 15:32:01 2018 -0700 +++ b/mercurial/httppeer.py Mon Apr 09 16:54:20 2018 -0700 @@ -551,18 +551,19 @@ self.ui.note(_('received %r\n') % frame) - if frame.typeid == wireprotoframing.FRAME_TYPE_BYTES_RESPONSE: - if frame.flags & wireprotoframing.FLAG_BYTES_RESPONSE_CBOR: - payload = util.bytesio(frame.payload) + action, meta = reactor.onframerecv(frame) + + if action == 'responsedata': + if meta['cbor']: + payload = util.bytesio(meta['data']) decoder = cbor.CBORDecoder(payload) - while payload.tell() + 1 < len(frame.payload): + while payload.tell() + 1 < len(meta['data']): results.append(decoder.decode()) else: - results.append(frame.payload) + results.append(meta['data']) else: - error.ProgrammingError('unhandled frame type: %d' % - frame.typeid) + error.ProgrammingError('unhandled action: %s' % action) return results