o
    7?eK
                     @   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
   K/home/www/facesmatcher.com/pyenv/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 )NZaud)r   )r   r   r   Z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   ZAuthMetadataPluginr   r&   r
   r
   r
   r   <module>   s   
	$