o
    Ù­jZ
  ã                   @   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
   úG/var/www/html/CropPilot/venv/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 )NÚaud)r   )r   r   r   Ú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   ÚAuthMetadataPluginr   r(   r
   r
   r
   r   Ú<module>   s   ÿþ
ý	$