U
    ËZjK
  ã                   @   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
   úM/var/www/html/TRUCKING_PROJECT/venv/lib/python3.8/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   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   ý	$