o
    àej”  ã                   @  s  d dl mZ d dlZd dlZd dlmZmZmZ d dlZddl	m
Z
mZ G dd„ deƒZd=d
d„Zd>dd„Zd?dd„Zd@dd„Zd@dd„ZdAdd„ZdBdd„ZdCdd „ZdCd!d"„ZdDd$d%„ZdEd'd(„ZdFd*d+„ZdGd-d.„ZdHd0d1„ZdId4d5„ZdJd8d9„ZdKd;d<„ZdS )Lé    )ÚannotationsN)ÚAnyÚProtocolÚcasté   )ÚDEFAULT_TIMEOUTÚDEFAULT_CONNECTION_LIMITSc                   @  sf   e Zd ZU ded< ded< ded< ded< d	ed
< ded< ded< ded< ded< ded< ded< dS )Ú_Httpx2Moduleztype[httpx.Auth]ÚAuthztype[httpx.Client]ÚClientztype[httpx.AsyncClient]ÚAsyncClientztype[httpx.URL]ÚURLztype[httpx.Response]ÚResponseztype[httpx.Timeout]ÚTimeoutztype[httpx.Limits]ÚLimitsztype[httpx.TimeoutException]ÚTimeoutExceptionztype[httpx.HTTPStatusError]ÚHTTPStatusErrorztype[httpx.StreamConsumed]ÚStreamConsumedztype[httpx.RequestNotRead]ÚRequestNotReadN)Ú__name__Ú
__module__Ú__qualname__Ú__annotations__© r   r   úN/var/www/html/choboyeo/PHP/venv/lib/python3.10/site-packages/openai/_httpx2.pyr	      s   
 r	   Úreturnú_Httpx2Module | Nonec                  C  s"   t j d¡} | d u rd S tt| ƒS )NÚhttpx2)ÚsysÚmodulesÚgetr   r	   ©Úmoduler   r   r   Ú_loaded_httpx2   s   
r#   Úboolc                   C  s
   t jdkS )N)é   é
   )r   Úversion_infor   r   r   r   Ú_supports_httpx2!   s   
r(   c                  C  s@   t ƒ stdƒ‚zt d¡} W n ty   tdƒd ‚w tt| ƒS )NzwHTTPX2 requires Python 3.10 or later; install the httpx2 extra on a supported interpreter: pip install 'openai[httpx2]'r   zETo use HTTPX2, install the httpx2 extra: pip install 'openai[httpx2]')r(   ÚRuntimeErrorÚ	importlibÚimport_moduleÚImportErrorr   r	   r!   r   r   r   Ú_require_httpx2%   s   ÿ
ÿ
r-   ÚvalueÚobjectc                 C  ó   t ƒ }|d uot| |jƒS ©N)r#   Ú
isinstancer   ©r.   r"   r   r   r   Úis_httpx2_sync_client4   ó   r4   c                 C  r0   r1   )r#   r2   r   r3   r   r   r   Úis_httpx2_async_client9   r5   r6   ústr | httpx.URLú	httpx.URLc                 C  sB   t ƒ }|d urt| |jƒrt t| ƒ¡S t| tjƒr| S t | ¡S r1   )r#   r2   r   ÚhttpxÚstrr3   r   r   r   Únormalize_httpx_url>   s   
r;   ú tuple[type[httpx.Response], ...]c                  C  ó"   t ƒ } | d u rtjfS tj| jfS r1   )r#   r9   r   r!   r   r   r   Úhttp_response_typesG   ó   r>   úfloat | httpx.Timeout | Nonec                 C  s2   t ƒ }|d urt| |jƒrtjdi |  ¡ ¤ŽS | S ©Nr   )r#   r2   r   r9   Úas_dictr3   r   r   r   Únormalize_httpx_timeoutN   s   rC   c                 C  s&   t | tjƒrtƒ jdi |  ¡ ¤ŽS | S rA   )r2   r9   r   r-   rB   ©r.   r   r   r   Únormalize_httpx2_timeoutU   s   rE   ú
httpx.Authc                 C  s   t | ƒtju rtƒ  ¡ S | S r1   )Útyper9   r
   r-   rD   r   r   r   Únormalize_httpx2_auth[   s   
rH   ú(tuple[type[httpx.TimeoutException], ...]c                  C  r=   r1   )r#   r9   r   r!   r   r   r   Útimeout_exceptionsa   r?   rJ   ú'tuple[type[httpx.HTTPStatusError], ...]c                  C  r=   r1   )r#   r9   r   r!   r   r   r   Ústatus_exceptionsh   r?   rL   ú&tuple[type[httpx.StreamConsumed], ...]c                  C  r=   r1   )r#   r9   r   r!   r   r   r   Ústream_consumed_exceptionso   r?   rN   ú&tuple[type[httpx.RequestNotRead], ...]c                  C  r=   r1   )r#   r9   r   r!   r   r   r   Úrequest_not_read_exceptionsv   r?   rP   Úkwargsúdict[str, Any]c                 C  s`   t ƒ }|  dt¡}t|ƒ| d< |  dt¡}t|tjƒr(|j|j|j	|j
d�| d< |  dd¡ |S )NÚtimeoutÚlimits)Úmax_connectionsÚmax_keepalive_connectionsÚkeepalive_expiryÚfollow_redirectsT)r-   r    r   rE   r   r2   r9   r   rU   rV   rW   Ú
setdefault)rQ   r"   rS   rT   r   r   r   Ú_set_httpx2_defaults}   s   
ýrZ   r   úhttpx.Clientc                  K  ó   t | ƒ}|jdi | ¤ŽS )zICreate an experimental HTTPX2 client with the SDK's recommended defaults.Nr   )rZ   r   ©rQ   r"   r   r   r   ÚDefaultHttpx2ClientŽ   ó   r^   úhttpx.AsyncClientc                  K  r\   )zOCreate an experimental async HTTPX2 client with the SDK's recommended defaults.Nr   )rZ   r   r]   r   r   r   ÚDefaultAsyncHttpx2Client”   r_   ra   )r   r   )r   r$   )r   r	   )r.   r/   r   r$   )r.   r7   r   r8   )r   r<   )r.   r@   r   r@   )r.   rF   r   rF   )r   rI   )r   rK   )r   rM   )r   rO   )rQ   rR   r   r	   )rQ   r   r   r[   )rQ   r   r   r`   )Ú
__future__r   r   r*   Útypingr   r   r   r9   Ú
_constantsr   r   r	   r#   r(   r-   r4   r6   r;   r>   rC   rE   rH   rJ   rL   rN   rP   rZ   r^   ra   r   r   r   r   Ú<module>   s0    






	








