o
    f>h   ã                   @   sP   d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 G dd„ deƒZ
dS )	é    )ÚClientTokenManager)ÚTwilioException)ÚCredentialProvider)ÚAuthType)ÚTokenAuthStrategyc                       s0   e Zd Zddedef‡ fdd„Zdd„ Z‡  ZS )	ÚClientCredentialProviderNÚ	client_idÚclient_secretc                    sH   t ƒ  tj¡ |d u s|d u rtdƒ‚d| _|| _|| _|| _d | _	d S )Nz)Client id and Client secret are mandatoryÚclient_credentials)
ÚsuperÚ__init__r   ÚCLIENT_CREDENTIALSr   Ú
grant_typer   r	   Útoken_managerÚauth_strategy)Úselfr   r	   r   ©Ú	__class__© ú_/var/www/html/venv/lib/python3.10/site-packages/twilio/credential/client_credential_provider.pyr   	   s   
z!ClientCredentialProvider.__init__c                 C   s:   | j d u rt| j| j| jƒ| _ | jd u rt| j ƒ| _| jS ©N)r   r   r   r   r	   r   r   )r   r   r   r   Úto_auth_strategy   s   
ÿ
z)ClientCredentialProvider.to_auth_strategyr   )Ú__name__Ú
__module__Ú__qualname__Ústrr   r   Ú__classcell__r   r   r   r   r      s    r   N)Ú twilio.http.client_token_managerr   Útwilio.base.exceptionsr   Ú%twilio.credential.credential_providerr   Útwilio.auth_strategy.auth_typer   Ú(twilio.auth_strategy.token_auth_strategyr   r   r   r   r   r   Ú<module>   s    