a
    v=icL                     @   s   d dl Z d dlZd dlZd dl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d ZdS )    N)_common)cygrpcc                   @   s   e Zd ZdS )_AuthMetadataContextN)__name__
__module____qualname__ r   r   f/home/droni/.local/share/virtualenvs/DPS-5Je3_V2c/lib/python3.9/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                   @   s   e Zd Zdd Zdd ZdS )_AuthMetadataPluginCallbackc                 C   s   || _ || _d S N)_state	_callback)r   statecallbackr   r   r	   r   ,   s    z$_AuthMetadataPluginCallback.__init__c                 C   s   | j jJ | j jd u r2| j jr(tdqDd| j _ntd| j jW d    n1 sX0    Y  |d u r~| |tjj	d  n| 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   metadataerrorr   r   r	   __call__0   s"    

"z$_AuthMetadataPluginCallback.__call__Nr   r   r   r   r$   r   r   r   r	   r   *   s   r   c                   @   s   e Zd Zdd Zdd ZdS )_Pluginc                 C   s:   || _ d | _zdd l}| | _W n ty4   Y n0 d S )Nr   )_metadata_pluginZ_stored_ctxcontextvarscopy_contextImportError)r   metadata_pluginr(   r   r   r	   r   E   s    z_Plugin.__init__c                 C   s   t t|t|}t }z| |t|| W n ty } ztd| j |j	6 ||_|j
r~W d    W Y d }~d S W d    n1 s0    Y  |d tjjtt| W Y d }~n
d }~0 0 d S )Nz1AuthMetadataPluginCallback "%s" raised exception!)r   r   decoder   r'   r   	Exception_LOGGERr   r   r   r   r   r   r    r!   )r   r   r   r   contextZcallback_stater   r   r   r	   r$   T   s(    

8
z_Plugin.__call__Nr%   r   r   r   r	   r&   C   s   r&   c                 C   sP   |d u r0z
| j }W q4 ty,   | jj }Y q40 n|}ttt| t	|S r   )
r   AttributeError	__class__grpcZCallCredentialsr   ZMetadataPluginCallCredentialsr&   r   r    )r+   nameZeffective_namer   r   r	    metadata_plugin_call_credentialsg   s    

r4   )collectionsloggingr   r2   r   Zgrpc._cythonr   	getLoggerr   r.   
namedtupler
   r   objectr   ZAuthMetadataPluginCallbackr   r&   r4   r   r   r   r	   <module>   s   


$