
    h                     D    d dl mZmZmZmZ d dlmZ d dlZ G d d      Zy)    )DictListOptionalUnion)parse_qsNc                       e Zd Zedej
                  deeeee	f   f   deeeee
e   f   f   fd       Ze	 d
dededee   fd       Zy	)BasePassthroughUtilsexisting_urlrequest_query_paramsreturnc                     | j                   j                  d      }t        |      }|j                         D ci c]  \  }}|t	        |      dk(  r|d   n| }}}i ||S c c}}w )Nzutf-8   r   )querydecoder   itemslen)r
   r   existing_query_stringexisting_query_paramskvupdated_existing_query_paramss          U/var/www/Befach/backend/env/lib/python3.12/site-packages/litellm/passthrough/utils.pyget_merged_query_parametersz0BasePassthroughUtils.get_merged_query_parameters   s    
 !- 2 2 9 9' B ()> ? 7L6Q6Q6S)
.2aAs1v{qt))
% )
 I&H*GHH	)
s    A#request_headersheadersforward_headersc                 b    |du r*| j                  dd       | j                  dd       i | |}|S )zA
        Helper to forward headers from original request
        Tzcontent-lengthNhost)pop)r   r   r   s      r   forward_headers_from_requestz1BasePassthroughUtils.forward_headers_from_request   sC     d" 0$7- 54G4G    N)F)__name__
__module____qualname__staticmethodhttpxURLr   strr   listr   r   dictr   boolr     r!   r   r	   r	      s    IiiI7;CsDyAQ<Q7RI	c5d3i((	)I I  +0 "$ r!   r	   )	typingr   r   r   r   urllib.parser   r&   r	   r,   r!   r   <module>r/      s    . . !    r!   