a
    g                     @   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ejee ejd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   S/var/www/html/texto_audio/venv/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                   @   sF   e Zd ZU eed< eed< eedddZeee	e
  d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 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   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< ejdddZeeedddZ	dS )	_Plugin_metadata_plugin)metadata_pluginc                 C   s:   || _ d | _zdd l}| | _W n ty4   Y n0 d S )Nr   )r,   Z_stored_ctxcontextvarsZ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 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(   c   s(    
8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   sP   |d u r0z
| j }W q4 ty,   | jj }Y q40 n|}ttt| t	|S r   )
r	   AttributeError	__class__r4   CallCredentialsr   ZMetadataPluginCallCredentialsr+   r   r&   )r-   r6   Zeffective_namer   r   r    metadata_plugin_call_credentialsz   s    
r;   )collectionsloggingr   typingr   r   r   r4   r   Zgrpc._cythonr   Zgrpc._typingr   	getLoggerr	   r2   
namedtupler   r   objectr   ZAuthMetadataPluginCallbackr   r+   r5   r'   r:   r;   r   r   r   r   <module>   s*   

!*
