MCPcopy Create free account
hub / github.com/Snapchat/KeyDB / parse_response

Method parse_response

monkey/monkey.py:90–116  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

88 return startpos, args
89
90 def parse_response(self):
91 if len(self.inbuf) == 0:
92 return
93
94 while len(self.inbuf) > 0:
95 if self.inbuf[0] == ord('+') or self.inbuf[0] == ord('-') or self.inbuf[0] == ord(':'):
96 # This is a single line response
97 endpos = self.inbuf.find(b'\n')
98 if endpos < 0:
99 return # incomplete response
100 self.callbacks[0](self, self.inbuf[0:endpos-1])
101 self.callbacks.pop(0)
102 self.inbuf = self.inbuf[endpos+1:]
103
104 elif self.inbuf[0] == ord('*'):
105 #RESP response
106 try:
107 startpos, args = self.parse_array(0)
108 except:
109 return # Not all data here yet
110 self.callbacks[0](self, args)
111 self.callbacks.pop(0)
112 self.inbuf = self.inbuf[startpos:]
113 else:
114 print("ERROR: Unknown response:")
115 pprint(self.inbuf)
116 assert(False)
117
118
119 def default_result_handler(self, result):

Callers 1

handle_readMethod · 0.95

Calls 3

parse_arrayMethod · 0.95
printFunction · 0.85
findMethod · 0.45

Tested by

no test coverage detected