o
    i".                     @   s   d Z ddlmZ ddlZddlmZmZ ddlmZm	Z	m
Z
 ddlmZmZmZ ddlmZmZmZmZmZ dd	lmZmZ G d
d dZdS )zACode generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.   )SDKConfiguration    N)modelsutils)AfterErrorContextAfterSuccessContextBeforeRequestContext)RetryConfigSerializedRequestBodyget_body_content)CallableListMappingOptionalTuple)parse_qsurlparsec                   @   sz  e Zd ZU eed< deddfddZdd Z						dd	ee d
ee	g ee
 f  dee deeeef  dejf
ddZ						dd	ee d
ee	g ee
 f  dee deeeef  dejf
ddZ						dd	ee d
ee	g ee
 f  dee deeeef  dejf
ddZ		ddeeeee f  dejfddZ		ddeeeee f  dejfddZdS )BaseSDKsdk_configuration
sdk_configreturnNc                 C   s
   || _ d S N)r   )selfr    r   ]/var/www/html/karishye-ai-python/venv/lib/python3.10/site-packages/mistralai_azure/basesdk.py__init__   s   
zBaseSDK.__init__c                 C   s2   | j  \}}|d u r|}|d u r|}t||S r   )r   get_server_detailsr   template_url)r   base_urlurl_variablessdk_urlsdk_variablesr   r   r   _get_url   s   zBaseSDK._get_url
timeout_msget_serialized_bodyurl_overridehttp_headersc                 C   2   | j j}| ||||||||||	|
||||||S r   )r   async_client_build_request_with_clientr   methodpathr   r   requestrequest_body_requiredrequest_has_path_paramsrequest_has_query_paramsuser_agent_headeraccept_header_value_globalssecurityr#   r$   r%   r&   clientr   r   r   _build_request_async!   (   zBaseSDK._build_request_asyncc                 C   r'   r   )r   r5   r)   r*   r   r   r   _build_requestK   r7   zBaseSDK._build_requestc              
   C   s|  i }|}|d u r+t | ||||r|nd |r|nd }t |	r"|nd |	r'|nd }ntt|}t|jdd}t ||}||d< | j	j
||
< |d urSt|rS| }|d urjt |\}}i ||}i ||}t }|d ur| }|r~|d u r~td|d ur|}|jd ur|jdvr|j|d< |d ur| D ]\}}|||< q|d ur|d nd }|j||||j|j|j||dS )	NT)keep_blank_valuesAcceptzrequest body is required)zmultipart/form-datazmultipart/mixedzcontent-typei  )paramscontentdatafilesheaderstimeout)r   generate_urlr"   get_query_paramsr   strr   queryget_headersr   
user_agentcallableget_securityr
   
ValueError
media_typeitemsbuild_requestr<   r=   r>   )r   r5   r+   r,   r   r   r-   r.   r/   r0   r1   r2   r3   r4   r#   r$   r%   r&   query_paramsurlparsed_overrider?   security_headerssecurity_query_paramsserialized_request_bodyrbheadervaluer@   r   r   r   r)   u   sf   







z"BaseSDK._build_request_with_clientFretry_configc                    s   | j j | j j| j jd  fdd}|d ur-t|t|d |d }n| }t|js?	t
|}|S )N_hooksc               
      sL  d } z' t}d|j|j|jt|  d u r!td j|d} W n* t	yS } z
td |\}}|d urIjddd |W Y d }~nd }~ww | d u rbd tdd	| j| j| jrod
n| j t| jr
t| d \}}|d urjddd ||d ur|} | S d td| S Nz0Request:
Method: %s
URL: %s
Headers: %s
Body: %szclient is required)streamzRequest ExceptionT)exc_infozRaising no response SDK errorzNo response receivedz6Response:
Status Code: %s
URL: %s
Headers: %s
Body: %sz<streaming response>zRaising unexpected SDK errorzUnexpected error occurredbefore_requestr   debugr+   rN   r?   r   rI   send	Exceptionafter_errorr   r   SDKErrorstatus_codetextr   match_status_codeshttp_resreqe_resulterrr5   error_status_codeshook_ctxhooksloggerr-   rY   r   r   do   sX   




zBaseSDK.do_request.<locals>.dor   r   )r   r5   debug_logger__dict__r   retryRetriesrd   rb   after_successr   r   rn   r-   rm   rY   rV   rq   rf   r   rl   r   
do_request   s   1zBaseSDK.do_requestc                    s   | j j | j j| j jd  fdd}|d ur1t|t|d |d I d H }n| I d H }t|jsF	t
|}|S )NrW   c               
      sT  d } z* t}d|j|j|jt|  d u r"td j|dI d H } W n* t	yW } z
td |\}}|d urMjddd |W Y d }~nd }~ww | d u rfd tdd	| j| j| jrsd
n| j t| jr
t| d \}}|d urjddd ||d ur|} | S d td| S rX   r[   re   rl   r   r   rq   '  sZ   




z$BaseSDK.do_request_async.<locals>.dor   r   )r   r(   rr   rs   r   retry_asyncru   rd   rb   rv   r   rw   r   rl   r   do_request_async  s   1zBaseSDK.do_request_async)NNNNNN)FN)__name__
__module____qualname__r   __annotations__r   r"   r   intr   r
   rC   r   httpxRequestr6   r8   r)   r   r	   r   Responserx   rz   r   r   r   r   r      s   
 
6
7
b
Mr   )__doc__sdkconfigurationr   r   mistralai_azurer   r   mistralai_azure._hooksr   r   r   mistralai_azure.utilsr	   r
   r   typingr   r   r   r   r   urllib.parser   r   r   r   r   r   r   <module>   s    