U
    ڲgK
                     @   sh   d Z ddlZddlmZmZ ddlZejee ee d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
   ./tmp/pip-unpacked-wheel-8poujhl6/grpc/_auth.py_sign_request   s    r   c                   @   sD   e Zd ZU dZeed< eed< edddZej	ej
ddd	Zd
S )GoogleCallCredentialszEMetadata wrapper for GoogleCredentials from the oauth2client library._is_jwt_credentials)credentialsc                 C   s   || _ dt|jjk| _d S )Nadditional_claims)r   inspectgetfullargspecget_access_tokenargsr   )selfr   r
   r
   r   __init__&   s
    zGoogleCallCredentials.__init__contextr   c              
   C   sn   z.| j r | jjd|jidj}n| j j}W n. tk
r\ } zt|d | W 5 d }~X Y nX 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< edddZejej	dddZ
d	S )
AccessTokenAuthMetadataPluginz2Metadata wrapper for raw access token credentials._access_token)r   c                 C   s
   || _ d S N)r(   )r   r   r
   r
   r   r   H   s    z&AccessTokenAuthMetadataPlugin.__init__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   	$