o
    ib/                     @   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_gcp/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 fdd}|d ur't|t|d |d }n| }t|js<j  	t
|}|S )Nc               
      s^  d } z*j  t}d|j|j|jt|  d u r$t	d j
|d} W n- tyY } z!j  td |\}}|d urOjddd |W Y d }~nd }~ww | d u rhd tdd	| j| j| jrud
n| j t| jrj  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r   	get_hooks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loggerr-   r   rX   r   r   do   s`   








zBaseSDK.do_request.<locals>.dor   r   )r   r5   debug_loggerr   retryRetriesrd   rb   r[   after_successr   r   rn   r-   rm   rX   rV   rp   rf   r   rl   r   
do_request   s   5
zBaseSDK.do_requestc                    s   j j j j fdd}|d ur+t|t|d |d I d H }n| I d H }t|jsCj  	t
|}|S )Nc               
      sf  d } z-j  t}d|j|j|jt|  d u r%t	d j
|dI d H } W n- ty] } z!j  td |\}}|d urSjddd |W Y d }~nd }~ww | d u rld tdd	| j| j| jryd
n| j t| jrj  t| d \}}|d urjddd ||d ur|} | S d td| S rW   rZ   re   rl   r   r   rp   )  sb   








z$BaseSDK.do_request_async.<locals>.dor   r   )r   r(   rq   r   retry_asyncrs   rd   rb   r[   rt   r   ru   r   rl   r   do_request_async  s   5
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   Responserv   rx   r   r   r   r   r      s   
 
6
7
b
Qr   )__doc__sdkconfigurationr   r~   mistralai_gcpr   r   mistralai_gcp._hooksr   r   r   mistralai_gcp.utilsr	   r
   r   typingr   r   r   r   r   urllib.parser   r   r   r   r   r   r   <module>   s    