o
    î6Wjb  ã                   @  sZ   d dl mZ d dlmZ d dlZddlmZ erd dlZedd�ddd„ƒZddd„Z	dS )é    )Úannotations)ÚTYPE_CHECKINGNé   )Ú	lru_cachei   )ÚmaxsizeÚaws_access_keyú
str | NoneÚaws_secret_keyÚaws_session_tokenÚregionÚprofileÚreturnúboto3.Sessionc                 C  s   dd l }|j||| ||d�S )Nr   )Úprofile_nameÚregion_nameÚaws_access_key_idÚaws_secret_access_keyr
   )Úboto3ÚSession)r   r	   r
   r   r   r   © r   új/home/esfera/Documents/content_generation/venv/lib/python3.10/site-packages/anthropic/lib/bedrock/_auth.pyÚ_get_session   s   	ûr   ÚmethodÚstrÚurlÚheadersúhttpx.HeadersÚdataúdict[str, str]c        	         C  s˜   ddl m}	 ddlm}
 t|||||d�}| ¡ }|d= |
|  ¡ |||d�}| ¡ }|s0tdƒ‚|	|d|j	ƒ}| 
|¡ | ¡ }d	d
„ t|jƒ ¡ D ƒS )Nr   )Ú	SigV4Auth)Ú
AWSRequest)r   r   r   r	   r
   Ú
connection)r   r   r   r   z*could not resolve credentials from sessionÚbedrockc                 S  s   i | ]\}}|d ur||“qS )Nr   )Ú.0ÚkeyÚvaluer   r   r   Ú
<dictcomp>H   s    z$get_auth_headers.<locals>.<dictcomp>)Úbotocore.authr   Úbotocore.awsrequestr    r   ÚcopyÚupperÚget_credentialsÚRuntimeErrorr   Úadd_authÚprepareÚdictr   Úitems)r   r   r   r   r	   r
   r   r   r   r   r    ÚsessionÚrequestÚcredentialsÚsignerÚpreppedr   r   r   Úget_auth_headers!   s&   û
r6   )r   r   r	   r   r
   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r	   r   r
   r   r   r   r   r   r   r   r   r   )
Ú
__future__r   Útypingr   ÚhttpxÚ_utilsr   r   r   r6   r   r   r   r   Ú<module>   s    