o
    ?dW                     @   sD   d Z ddlZddlZdd ZG dd dejZG dd dejZdS )	z4GRPCAuthMetadataPlugins for standard authentication.    Nc                 C   s   dd |ff}| || d S )NZauthorizationz	Bearer {})format)callbacktokenerrorZmetadata r   *lib/python3.10/site-packages/grpc/_auth.py_sign_request   s   r   c                   @       e Zd ZdZdd Zdd ZdS )GoogleCallCredentialszEMetadata wrapper for GoogleCredentials from the oauth2client library.c                 C   s   || _ dt|jjv | _d S )Nadditional_claims)_credentialsinspectZgetfullargspecget_access_tokenargs_is_jwt)selfZcredentialsr   r   r   __init__   s   
zGoogleCallCredentials.__init__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   contextr   r   Z	exceptionr   r   r   __call__$   s   zGoogleCallCredentials.__call__N__name__
__module____qualname____doc__r   r   r   r   r   r   r
      s    r
   c                   @   r	   )AccessTokenAuthMetadataPluginz2Metadata wrapper for raw access token credentials.c                 C   s
   || _ d S N)_access_token)r   r   r   r   r   r   6   s   
z&AccessTokenAuthMetadataPlugin.__init__c                 C   s   t || jd  d S r   )r   r   )r   r   r   r   r   r   r   9   s   z&AccessTokenAuthMetadataPlugin.__call__Nr   r   r   r   r   r   3   s    r   )r   r   Zgrpcr   ZAuthMetadataPluginr
   r   r   r   r   r   <module>   s   