用于传递元数据的节俭工具
takumi-thrift的Python项目详细描述
双向传递元数据的节俭工具。
示例
# ServerclassCtx(object):passctx=Ctx()ctx.response_meta={'server':'test'}classHandler(object):defsay_hello(name):assertctx.meta=={'hello':'test','client_name':'test_client'}returnResponse('Hello '+name,meta={'api':'say_hello'})processor=Processor(ctx,service,Handler())# Clientclient=Client(service,proto,meta={'client_name':'test_client'})res=client.call('say_hello','world',meta={'hello':'test'})assertres.meta=={'api':'say_hello','server':'test'}assertres.value=='Hello world'
数据帧更改
请求数据帧:
before: message_begin args message_end after: meta_begin meta meta_end message_begin args message_end
响应数据帧:
before: message_begin result message_end after: meta_begin meta meta_end message_begin result message_end