MCPcopy Create free account
hub / github.com/apache/thrift / TJSONProtocol

Class TJSONProtocol

lib/py/src/protocol/TJSONProtocol.py:405–577  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

403
404
405class TJSONProtocol(TJSONProtocolBase):
406
407 def readMessageBegin(self):
408 self.resetReadContext()
409 self.readJSONArrayStart()
410 if self.readJSONInteger() != VERSION:
411 raise TProtocolException(TProtocolException.BAD_VERSION,
412 "Message contained bad version.")
413 name = self.readJSONString(False)
414 typen = self.readJSONInteger()
415 seqid = self.readJSONInteger()
416 return (name, typen, seqid)
417
418 def readMessageEnd(self):
419 self.readJSONArrayEnd()
420
421 def readStructBegin(self):
422 self.readJSONObjectStart()
423
424 def readStructEnd(self):
425 self.readJSONObjectEnd()
426
427 def readFieldBegin(self):
428 character = self.reader.peek()
429 ttype = 0
430 id = 0
431 if character == RBRACE:
432 ttype = TType.STOP
433 else:
434 id = self.readJSONInteger()
435 self.readJSONObjectStart()
436 ttype = JTYPES[self.readJSONString(False)]
437 return (None, ttype, id)
438
439 def readFieldEnd(self):
440 self.readJSONObjectEnd()
441
442 def readMapBegin(self):
443 self.readJSONArrayStart()
444 keyType = JTYPES[self.readJSONString(False)]
445 valueType = JTYPES[self.readJSONString(False)]
446 size = self.readJSONInteger()
447 self.readJSONObjectStart()
448 return (keyType, valueType, size)
449
450 def readMapEnd(self):
451 self.readJSONObjectEnd()
452 self.readJSONArrayEnd()
453
454 def readCollectionBegin(self):
455 self.readJSONArrayStart()
456 elemType = JTYPES[self.readJSONString(False)]
457 size = self.readJSONInteger()
458 return (elemType, size)
459 readListBegin = readCollectionBegin
460 readSetBegin = readCollectionBegin
461
462 def readCollectionEnd(self):

Callers 4

test_TJSONProtol_readMethod · 0.90
getProtocolMethod · 0.70

Calls

no outgoing calls

Tested by 3

test_TJSONProtol_readMethod · 0.72