B
    dA
                 @   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
   </var/www/html/venv/lib/python3.7/site-packages/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   y.| j r | jjd|jidj}n| j j}W n. tk
r\ } zt|d | W d 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   ?   s    z&AccessTokenAuthMetadataPlugin.__init__)r   r   c             C   s   t || jd  d S )N)r   r'   )r   r   r   r
   r
   r   r   B   s    z&AccessTokenAuthMetadataPlugin.__call__N)r   r   r   r    strr"   r   r#   r$   r%   r   r
   r
   r
   r   r&   ;   s
   
r&   )r    r   typingr   r   r#   r%   r(   r   r   ZAuthMetadataPluginr   r&   r
   r
   r
   r   <module>   s   