
    rh                     ^    d Z ddlmZ ddlmZ ddlmZ ddlmZ dej                  fdZ	d	gZ
y
)z;Reference implementation for status mapping in gRPC Python.    )
status_pb2)aio   )GRPC_DETAILS_METADATA_KEY)code_to_grpc_status_codecallc                   K   | j                          d{   }| j                          d{   }| j                          d{   }|y|D ]  \  }}|t        k(  st        j
                  j                  |      }|j                  d   |j                   k7  r%t        dt        |j                         d|d      ||j                  k7  rt        d|j                  d|d      |c S  y7 7 7 w)zReturns a google.rpc.status.Status message from a given grpc.aio.Call.

    This is an EXPERIMENTAL API.

    Args:
      call: An grpc.aio.Call instance.

    Returns:
      A google.rpc.status.Status message representing the status of the RPC.
    Nr   zCode in Status proto (z) doesn't match status code ()zMessage in Status proto (z ) doesn't match status details ()codedetailstrailing_metadatar   r   Status
FromStringvalue
ValueErrorr   message)r   r   r   r   keyr   rich_statuss          e/var/www/html/ai-insurance-compliance-backend/venv/lib/python3.12/site-packages/grpc_status/_async.py	from_callr      s      DLLN"G"4466 ' 
U++$++66u=Kzz!} 0 00 /0@0@A4I  +--- *22G=   ' "6s8   C7C1C7C3C7C5C7 BC73C75C7r   N)__doc__
google.rpcr   grpc.experimentalr   _commonr   r   Callr   __all__     r   <module>r      s4    B ! ! . -#(( D r   