o
    |j6hK
                     @   sl   d Z ddlZddlmZmZ ddlZdejdee dee fddZ	G d	d
 d
ej
ZG dd dej
ZdS )z4GRPCAuthMetadataPlugins for standard authentication.    N)AnyOptionalcallbacktokenerrorc                 C   s   dd |ff}| || d S )Nauthorizationz	Bearer {})format)r   r   r   metadata r
   Y/var/www/html/chefvision.cloud.itp360.com/venv/lib/python3.10/site-packages/grpc/_auth.py_sign_request   s   r   c                   @   sF   e Zd ZU dZeed< eed< defddZdej	dej
fd	d
ZdS )GoogleCallCredentialszEMetadata wrapper for GoogleCredentials from the oauth2client library._is_jwt_credentialscredentialsc                 C   s   || _ dt|jjv | _d S )Nadditional_claims)r   inspectgetfullargspecget_access_tokenargsr   )selfr   r
   r
   r   __init__&   s
   zGoogleCallCredentials.__init__contextr   c              
   C   sr   z| j r| jjd|jidj}n| j j}W n ty0 } zt|d | W Y d }~d S d }~ww t||d  d S )Naud)r   )r   r   r   service_urlaccess_token	Exceptionr   )r   r   r   r   	exceptionr
   r
   r   __call__/   s   zGoogleCallCredentials.__call__N)__name__
__module____qualname____doc__bool__annotations__r   r   grpcAuthMetadataContextAuthMetadataPluginCallbackr   r
   r
   r
   r   r      s   
 	r   c                   @   s>   e Zd ZU dZeed< defddZdejdej	fdd	Z
d
S )AccessTokenAuthMetadataPluginz2Metadata wrapper for raw access token credentials._access_tokenr   c                 C   s
   || _ d S N)r)   )r   r   r
   r
   r   r   H   s   
z&AccessTokenAuthMetadataPlugin.__init__r   r   c                 C   s   t || jd  d S r*   )r   r)   )r   r   r   r
   r
   r   r   K   s   z&AccessTokenAuthMetadataPlugin.__call__N)r   r    r!   r"   strr$   r   r%   r&   r'   r   r
   r
   r
   r   r(   C   s   
 r(   )r"   r   typingr   r   r%   r'   r+   r   r   AuthMetadataPluginr   r(   r
   r
   r
   r   <module>   s   
	$