HiveNetGRpc.msg_formater module¶
消息格式化模块
- class HiveNetGRpc.msg_formater.RemoteCallFormater[源代码]¶
基类:
object远程调用函数的消息格式化类
(基于默认的JsonService报文格式进行处理)
- classmethod format_call_result(call_result: HiveNetCore.generic.CResult) HiveNetCore.generic.CResult[源代码]¶
将GRpcClient调用返回的结果转换为标准CResult对象
- classmethod format_service(with_request: bool = True, native_request: bool = False, logger: Optional[logging.Logger] = None)[源代码]¶
服务端处理函数的请求格式转换修饰函数
注: 支持修饰同步及异步函数, 但修饰后需按异步函数执行
- 参数
with_request (bool) –
default=True, 是否将请求对象送入处理函数的参数中执行
注1: 如果为True则代表会将原始请求对象送入处理函数(作为第一个参数送入)
注2: 如果是流模式, 该参数固定为True, 并且会将原请求request字典中的’request’对象替换为第二个迭代值开始的json字典的迭代对象
native_request (bool) –
default=False, 送入的请求对象是否原生请求对象(RpcRequest)
注: 如果请求数据包含extend_bytes的信息, 则应设置为True以获取到对应的值, 否则只能获取到return_json的值
logger (Logger) – default=None, 日志对象
- classmethod paras_to_grpc_request(args: Optional[list] = None, kwargs: Optional[dict] = None) msg_json_pb2.RpcRequest[源代码]¶
将函数入参转换为grpc请求对象
- 参数
args (list) – default=None, 函数固定参数
kwargs (dict) – default=None, 函数kv参数
- 返回
请求对象
- 返回类型
msg_json_pb2.RpcRequest
- classmethod paras_to_grpc_request_iter(iter_obj, args: Optional[list] = None, kwargs: Optional[dict] = None)[源代码]¶
将迭代对象和函数入参转换为grpc请求对象迭代对象(流模式)
- 参数
iter_obj (generator|async_generator) – 要发送的请求数据迭代对象(支持同步或异步)
args (list) – default=None, 函数固定参数
kwargs (dict) – default=None, 函数kv参数
- 返回
请求迭代对象
- 返回类型
generator
- classmethod service_exception_to_grpc_resp(code: str, error: str, err_msg: str, msg_para: tuple = ()) msg_json_pb2.RpcResponse[源代码]¶
服务端异常信息转换为grpc的响应对象
- 参数
code (str) – 错误码
error (str) – 抛出异常时,异常对象的类型
err_msg (str) – 错误信息
msg_para (tuple) – 错误信息对应的参数, JSON格式, 数组()
- 返回
返回的grpc响应对象
- 返回类型
msg_json_pb2.RpcResponse
- classmethod service_request_to_paras(request: dict, with_request: bool = True, native_request: bool = False) tuple[源代码]¶
服务端请求对象转换为函数入参
- 参数
request (dict) –
服务的请求入参字典
{
‘request’: request, # 请求报文对象(如果是流模式也需获取对应的请求报文对象)
’context’: context, # 请求服务端上下文, grpc.ServicerContext
’call_mode’: call_mode # 调用模式
}
with_request (bool) – default=True, 是否将请求对象送入处理函数的参数中执行
native_request (bool) –
default=False, 送入的请求对象是否原生请求对象(RpcRequest)
注: 如果请求数据包含extend_bytes的信息, 则应设置为True以获取到对应的值, 否则只能获取到return_json的值
- 返回
返回函数入参的二元组(args, kwargs)
- 返回类型
tuple
- classmethod service_request_to_paras_iter(request: dict, native_request: bool = False) tuple[源代码]¶
服务端迭代类型的请求对象转换为函数入参及迭代对象
注: 第一个迭代值固定为函数入参, 后面的迭代值则转换为json值的迭代
- 参数
request (dict) –
服务的请求入参字典
{
‘request’: request_iterator, # 流模式的请求对象迭代器
’context’: context, # 请求服务端上下文, grpc.ServicerContext
’call_mode’: call_mode # 调用模式
}
native_request (bool) –
default=False, 送入的请求对象是否原生请求对象(RpcRequest)
注: 如果请求数据包含extend_bytes的信息, 则应设置为True以获取到对应的值, 否则只能获取到return_json的值
- 返回
返回函数入参的二元组(args, kwargs)
- 返回类型
tuple
- classmethod service_resp_to_grpc_resp(obj, call_mode: HiveNetGRpc.enum.EnumCallMode, extend_bytes: Optional[bytes] = None)[源代码]¶
将服务端函数返回对象转换为服务返回的grpc对象或迭代器
- 参数
obj (Any) – 要处理的对象
call_mode (EnumCallMode) – 请求模式
extend_bytes (bytes) –
default=None, 要返回的扩展字节数组
注: 如果传入的对象已经是msg_json_pb2.RpcResponse或迭代器则不会处理
- 返回
返回grpc对象或迭代器
- 返回类型
msg_json_pb2.RpcResponse|iterator
- HiveNetGRpc.msg_formater.isgenerator(obj)¶