o
    ˷eL                     @   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   L/var/www/ideatree/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                   @      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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   metadataerrorr   r   r	   __call__0   s&   

z$_AuthMetadataPluginCallback.__call__Nr   r   r   r   r%   r   r   r   r	   r   *   s    r   c                   @   r   )_Pluginc                 C   s:   || _ d | _zdd l}| | _W d S  ty   Y d S w )Nr   )_metadata_plugin_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 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%   T   s2   



z_Plugin.__call__Nr&   r   r   r   r	   r'   C   s    r'   c                 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__grpcCallCredentialsr   MetadataPluginCallCredentialsr'   r   r!   )r-   nameeffective_namer   r   r	    metadata_plugin_call_credentialsg   s   

r:   )collectionsloggingr   r5   r   grpc._cythonr   	getLoggerr   r0   
namedtupler
   r   objectr   AuthMetadataPluginCallbackr   r'   r:   r   r   r   r	   <module>   s   


$