diff mercurial/wireprototypes.py @ 36112:2f7290555c96

wireproto: introduce type for raw byte responses (API) Right now we simply return a str/bytes instance for simple responses. I want all wire protocol response types to be strongly typed. So let's invent and use a type for raw bytes responses. .. api:: Wire protocol command handlers now return a wireprototypes.bytesresponse instead of a raw bytes instance. Protocol handlers will continue handling bytes instances. However, any extensions wrapping wire protocol commands will need to handle the new type. Differential Revision: https://phab.mercurial-scm.org/D2089
author Gregory Szorc <gregory.szorc@gmail.com>
date Wed, 07 Feb 2018 20:27:36 -0800
parents cd6ab329c5c7
children 0c231df1ffdc
line wrap: on
line diff
--- a/mercurial/wireprototypes.py	Wed Feb 07 16:29:05 2018 -0800
+++ b/mercurial/wireprototypes.py	Wed Feb 07 20:27:36 2018 -0800
@@ -5,6 +5,11 @@
 
 from __future__ import absolute_import
 
+class bytesresponse(object):
+    """A wire protocol response consisting of raw bytes."""
+    def __init__(self, data):
+        self.data = data
+
 class ooberror(object):
     """wireproto reply: failure of a batch of operation