diff hgext/largefiles/proto.py @ 36074: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 90ca4986616c
children 3ac8b5c1c36c
line wrap: on
line diff
--- a/hgext/largefiles/proto.py	Wed Feb 07 16:29:05 2018 -0800
+++ b/hgext/largefiles/proto.py	Wed Feb 07 20:27:36 2018 -0800
@@ -14,6 +14,7 @@
     httppeer,
     util,
     wireproto,
+    wireprototypes,
 )
 
 from . import (
@@ -85,8 +86,8 @@
     server side.'''
     filename = lfutil.findfile(repo, sha)
     if not filename:
-        return '2\n'
-    return '0\n'
+        return wireprototypes.bytesresponse('2\n')
+    return wireprototypes.bytesresponse('0\n')
 
 def wirereposetup(ui, repo):
     class lfileswirerepository(repo.__class__):