
    lh	                         d dl Z d dlmZ d dlmZ d dlmZ d dlmZm	Z	 d dl
mZ erd dl
mZmZ d dlmZ 	 d dlZd d	lmZmZmZ  G d dej*                        Zy# e$ r	  ed
      w xY w)    N)OP)DidNotEnable)SPAN_ORIGIN)TransactionTransactionSource)TYPE_CHECKING)CallableOptional)Message)ServicerContextHandlerCallDetailsRpcMethodHandlerzgrpcio is not installedc                   6     e Zd Zd fd	Zd Zed        Z xZS )ServerInterceptorc                 T    |xs t         j                  | _        t        |           y N)r   
_find_name_find_method_namesuper__init__)self	find_name	__class__s     u/var/www/pru.catia.catastroantioquia-mas.com/tasa/lib/python3.12/site-packages/sentry_sdk/integrations/grpc/server.pyr   zServerInterceptor.__init__   s"    !*!J.?.J.J    c                       ||      rj                   sS  fd}t        j                  |j                  j                        S )Nc                    t        j                         5  j                  |      }|rt        |j	                               }t        j                  |t        j                  |t        j                  t              }t        j                  |      5  	 j                  | |      cd d d        cd d d        S j                  | |      cd d d        S # t        $ r}|d }~ww xY w# 1 sw Y   nxY w	 d d d        y # 1 sw Y   y xY w)N)opnamesourceorigin)transaction)
sentry_sdkisolation_scoper   dictinvocation_metadatar   continue_from_headersr   GRPC_SERVERr   CUSTOMr   start_transactionunary_unaryBaseException)requestcontextr   metadatar"   ehandlerr   s         r   behaviorz5ServerInterceptor.intercept_service.<locals>.behavior!   s    ++- A--g6#G$?$?$ABH"-"C"C >>!077*#K $55+N $$#*#6#6w#H$ $A A( #..w@)A A"  - $"#G$$ $ $A A AsH   A=C=C'C&	C=9C=	C$CC$$C''C0	,C==D)request_deserializerresponse_serializer)r+   grpcunary_unary_rpc_method_handlerr3   r4   )r   continuationhandler_call_detailsr2   r1   s   `   @r   intercept_servicez#ServerInterceptor.intercept_service   sN    34g11N	A0 22!(!=!= ' ; ;
 	
r   c                 ^    | j                   j                  j                  j                         S r   )
_rpc_eventcall_detailsmethoddecode)r.   s    r   r   zServerInterceptor._find_name?   s%     !!..55<<>>r   r   )__name__
__module____qualname__r   r9   staticmethodr   __classcell__)r   s   @r   r   r      s"    "
H ? ?r   r   )r#   sentry_sdk.constsr   sentry_sdk.integrationsr   #sentry_sdk.integrations.grpc.constsr   sentry_sdk.tracingr   r   typingr   r	   r
   google.protobuf.messager   r5   r   r   r   ImportErrorr    r   r   <module>rL      s]       0 ; =  )/2JJ
.?.. .?	  2
0
112s   A A(