o
    |j6h                     @   s   d dl Z d dlZd dlZd dlmZmZmZ d dlZd dlmZ d dl	m
Z
 d dlmZ eeZG dd de dd	ejZG d
d deZG dd dejZG dd deZdejdee dejfddZdS )    N)CallableOptionalType)_common)cygrpc)MetadataTypec                   @   s   e Zd ZdS )_AuthMetadataContextN)__name__
__module____qualname__ r   r   d/var/www/html/chefvision.cloud.itp360.com/venv/lib/python3.10/site-packages/grpc/_plugin_wrapping.pyr      s    
r   AuthMetadataContext)service_urlmethod_namec                   @   s   e Zd Zdd ZdS )_CallbackStatec                 C   s   t  | _d| _d | _d S )NF)	threadingLocklockcalled	exception)selfr   r   r   __init__*   s   

z_CallbackState.__init__N)r	   r
   r   r   r   r   r   r   r   )   s    r   c                   @   sJ   e Zd ZU eed< eed< dedefddZdedee	e
  fd	d
ZdS )_AuthMetadataPluginCallback_state	_callbackstatecallbackc                 C   s   || _ || _d S N)r   r   )r   r   r   r   r   r   r   4   s   
z$_AuthMetadataPluginCallback.__init__metadataerrorc                 C   s   | j j$ | j jd u r| j jrtdd| j _n	td| j jW d    n1 s+w   Y  |d u r?| |tjj	d  d S | d tjj
tt| d S )Nz2AuthMetadataPluginCallback invoked more than once!Tz1AuthMetadataPluginCallback raised exception "{}"!)r   r   r   r   RuntimeErrorformatr   r   
StatusCodeokinternalr   encodestr)r   r   r    r   r   r   __call__8   s&   

z$_AuthMetadataPluginCallback.__call__N)r	   r
   r   r   __annotations__r   r   r   r   r   BaseExceptionr(   r   r   r   r   r   0   s   
 
r   c                   @   s>   e Zd ZU ejed< dejfddZdededefdd	Z	d
S )_Plugin_metadata_pluginmetadata_pluginc                 C   s:   || _ d | _zdd l}| | _W d S  ty   Y d S w )Nr   )r,   _stored_ctxcontextvarscopy_contextImportError)r   r-   r/   r   r   r   r   T   s   z_Plugin.__init__r   r   r   c                 C   s   t t|t|}t }z| |t|| W d S  tyh } zBtd| j |j	 ||_|j
rA	 W d    W Y d }~d S W d    n1 sKw   Y  |d tjjtt| W Y d }~d S d }~ww )Nz1AuthMetadataPluginCallback "%s" raised exception!)r   r   decoder   r,   r   	Exception_LOGGERr   r   r   r   r#   r%   r&   r'   )r   r   r   r   contextcallback_stater   r   r   r   r(   c   s2   

z_Plugin.__call__N)
r	   r
   r   grpcAuthMetadataPluginr)   r   r'   r   r(   r   r   r   r   r+   Q   s   
 
r+   r-   namereturnc                 C   sN   |d u rz| j }W n ty   | jj }Y nw |}ttt| t	|S r   )
r	   AttributeError	__class__r7   CallCredentialsr   MetadataPluginCallCredentialsr+   r   r&   )r-   r9   effective_namer   r   r    metadata_plugin_call_credentialsz   s   
r@   )collectionsloggingr   typingr   r   r   r7   r   grpc._cythonr   grpc._typingr   	getLoggerr	   r4   
namedtupler   r   objectr   AuthMetadataPluginCallbackr   r+   r8   r'   r=   r@   r   r   r   r   <module>   s4   

!)