o
    qmi
                     @   s^   d dl Z d dlZddlmZ ddlmZmZ G dd dZG dd	 d	eZG d
d deZ	dS )    N   )SarvamAIEnvironment   )AsyncHttpClient
HttpClientc                
   @   s   e Zd Zddddedejejeef  dedeje fddZ	d	ejeef fd
dZ
d	ejejeef  fddZd	efddZd	eje fddZdS )BaseClientWrapperNheaderstimeoutapi_subscription_keyr	   environmentr
   c                C   s   || _ || _|| _|| _d S N)r   _headers_environment_timeout)selfr   r	   r   r
    r   P/home/ubuntu/.local/lib/python3.10/site-packages/sarvamai/core/client_wrapper.py__init__   s   
zBaseClientWrapper.__init__returnc                 C   s(   ddddd|   pi }| j|d< |S )Nzsarvamai/0.1.25Pythonsarvamaiz0.1.25)z
User-AgentzX-Fern-LanguagezX-Fern-SDK-NamezX-Fern-SDK-Versionzapi-subscription-key)get_custom_headersr   )r   r	   r   r   r   get_headers   s   

zBaseClientWrapper.get_headersc                 C      | j S r   )r   r   r   r   r   r   #      z$BaseClientWrapper.get_custom_headersc                 C   r   r   )r   r   r   r   r   get_environment&   r   z!BaseClientWrapper.get_environmentc                 C   r   r   )r   r   r   r   r   get_timeout)   r   zBaseClientWrapper.get_timeout)__name__
__module____qualname__strtypingOptionalDictr   floatr   r   r   r   r   r   r   r   r   r   
   s     
r   c                       R   e Zd Zddddedejejeef  dedeje de	j
f
 fdd	Z  ZS )
SyncClientWrapperNr   r   r	   r   r
   httpx_clientc                   ,   t  j||||d t|| j| jd| _d S N)r   r	   r   r
   )r)   base_headersbase_timeout)superr   r   r   r   r)   r   r   r	   r   r
   r)   	__class__r   r   r   .      	
zSyncClientWrapper.__init__)r   r    r!   r"   r#   r$   r%   r   r&   httpxClientr   __classcell__r   r   r0   r   r(   -       r(   c                       r'   )
AsyncClientWrapperNr   r   r	   r   r
   r)   c                   r*   r+   )r.   r   r   r   r   r)   r/   r0   r   r   r   @   r2   zAsyncClientWrapper.__init__)r   r    r!   r"   r#   r$   r%   r   r&   r3   AsyncClientr   r5   r   r   r0   r   r7   ?   r6   r7   )
r#   r3   r   r   http_clientr   r   r   r(   r7   r   r   r   r   <module>   s   #