o
    ưi                     @   sh   d dl Z d dlmZmZ d dlZzd dlmZ W n ey#   dZY nw defddZ	G dd	 d	Z
dS )
    N)OptionalUnion)versionz0.0.0returnc                  C   s*   t jd} | durd| iS ddt iS )z
    Get default headers for HTTP requests.

    - Default: `User-Agent: litellm/{version}`
    - Override: set `LITELLM_USER_AGENT` to fully override the header value.
    ZLITELLM_USER_AGENTNz
User-Agentzlitellm/)osenvirongetr   )
user_agent r
   ^/home/app/Keep/.python/lib/python3.10/site-packages/litellm/llms/custom_httpx/httpx_handler.pyget_default_headers   s   r   c                
   @   sv   e Zd ZdddZdd Z	ddedee d	ee fd
dZ			ddedee	eef  dee d	ee fddZ
dS )HTTPHandler  c                 C   s$   t  }tjtj||d|d| _d S )N)Zmax_connectionsZmax_keepalive_connections)Zlimitsheaders)r   httpxZAsyncClientZLimitsclient)selfZconcurrent_limitr   r
   r
   r   __init__   s   zHTTPHandler.__init__c                    s   | j  I d H  d S )N)r   aclose)r   r
   r
   r   close$   s   zHTTPHandler.closeNurlparamsr   c                    s   | j j|||dI d H }|S )N)r   r   )r   r   )r   r   r   r   responser
   r
   r   r   (   s   zHTTPHandler.getdatac              
      s@   z| j j||||dI d H }|W S  ty } z|d }~ww )N)r   r   r   )r   post	Exception)r   r   r   r   r   r   er
   r
   r   r   .   s   zHTTPHandler.post)r   )NN)NNN)__name__
__module____qualname__r   r   strr   dictr   r   r   r
   r
   r
   r   r      s.    

	r   )r   typingr   r   r   Zlitellm._versionr   r   r!   r   r   r
   r
   r
   r   <module>   s    