Format: application/x-python-code
⬇ Download File (9.8 KB)
   1  o
   2  
   3  C'h�6�@s�UdZddlmZddlZddlZddlmZejr"ddlZddl	Z	ddl
   4  mZmZm
   5  Z
   6  mZddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZddlmZm Z dd	l!m"Z"m#Z#m$Z$m%Z%dd
   7  l&m'Z'ddl(m)Z)m*Z*ej+d
   8  dd�Z,ej+ddd�Z-ej.ej/e0e0e0fej/e0e0ej.e1e2ffej/e0e0de0ffZ3ddgZ4ia5de6d<d dd�Z7ej8d!dd��Z9Gdd�de%�Z:Gdd�de*�Z;Gdd�de"�Z<Gdd�de)�Z=dS)"a�
   9  Custom transports, with nicely configured defaults.
  10  
  11  The following additional keyword arguments are currently supported by httpcore...
  12  
  13  * uds: str
  14  * local_address: str
  15  * retries: int
  16  
  17  Example usages...
  18  
  19  # Disable HTTP/2 on a single specific domain.
  20  mounts = {
  21      "all://": httpx.HTTPTransport(http2=True),
  22      "all://*example.org": httpx.HTTPTransport()
  23  }
  24  
  25  # Using advanced httpcore configuration, with connection retries.
  26  transport = httpx.HTTPTransport(retries=1)
  27  client = httpx.Client(transport=transport)
  28  
  29  # Using advanced httpcore configuration, with unix domain sockets.
  30  transport = httpx.HTTPTransport(uds="socket.uds")
  31  client = httpx.Client(transport=transport)
  32  �)�annotationsN)�
  33  TracebackType�)�DEFAULT_LIMITS�Limits�Proxy�create_ssl_context)�ConnectError�ConnectTimeout�LocalProtocolError�NetworkError�PoolTimeout�
  34  ProtocolError�
  35  ProxyError�	ReadError�ReadTimeout�RemoteProtocolError�TimeoutException�UnsupportedProtocol�
  36  WriteError�WriteTimeout)�Request�Response)�AsyncByteStream�	CertTypes�
  37  ProxyTypes�SyncByteStream)�URL�)�AsyncBaseTransport�
  38  BaseTransport�T�
  39  HTTPTransport)�bound�A�AsyncHTTPTransport�,dict[type[Exception], type[httpx.HTTPError]]�HTTPCORE_EXC_MAP�returncCs`ddl}|jt|jt|jt|jt|jt|jt|jt|jt|j	t	|j
  40  t
  41  |jt|jt|j
  42  t
  43  |jtiS�Nr)�httpcorerr
  44  rrr
  45  rr	rrrrrrr)r*�r+�OC:\Users\shubh\Videos\agent\nova\Lib\site-packages\httpx/_transports/default.py�_load_httpcore_exceptionsJs �r-�typing.Iterator[None]c
  46  cs��tt�dkr
  47  t�azdVWdStyF}z*d}t��D]\}}t||�s(q|dus1t||�r3|}q|dur9�t|�}||�|�d}~wwr))�lenr'r-�	Exception�items�
  48  isinstance�
  49  issubclass�str)�excZ
  50  mapped_excZfrom_excZto_exc�messager+r+r,�map_httpcore_exceptions_s&�
  51  �
  52  ��r7c@�*eZdZd
  53  dd�Zddd	�Zdd
  54  d�ZdS)�ResponseStream�httpcore_stream�typing.Iterable[bytes]r(�NonecC�
  55  ||_dS�N��_httpcore_stream��selfr:r+r+r,�__init__z�
  56  zResponseStream.__init__�typing.Iterator[bytes]ccs@�t��|jD]}|VqWd�dS1swYdSr>�r7r@�rB�partr+r+r,�__iter__}s�
  57  �"�zResponseStream.__iter__cCst|jd�r
  58  |j��dSdS)N�close)�hasattrr@rJ�rBr+r+r,rJ�s�zResponseStream.closeN)r:r;r(r<)r(rE�r(r<)�__name__�
  59  __module__�__qualname__rCrIrJr+r+r+r,r9y�
  60  
  61  r9c@�^eZdZdddddedddddfd/dd�Zd0dd�Z			d1d2d&d'�Zd3d+d,�Zd4d-d.�ZdS)5r"TNFr�verify�ssl.SSLContext | str | bool�cert�CertTypes | None�	trust_env�bool�http1�http2�limitsr�proxy�ProxyTypes | None�uds�
  62  str | None�
  63  local_address�retries�int�socket_options�%typing.Iterable[SOCKET_OPTION] | Noner(r<c
  64  CsNddl}t|ttf�rt|d�n|}t|||d�}
  65  |dur2|j|
  66  |j|j|j	||||	|
  67  |d�
  68  |_
  69  dS|jjdvra|j
  70  |j|jj|jj|jj|jjd�|j|jj|
  71  |j|j|j|j	|||d�|_
  72  dS|jjdvr�zddl}Wntyytd	�d�w|j|j|jj|jj|jj|jjd�|j|
  73  |j|j|j	||d
  74  �|_
  75  dStd|jj�d���)
  76  Nr��url�rSrUrW�
  77  �ssl_context�max_connections�max_keepalive_connections�keepalive_expiryrYrZr^r`rarc��http�https��scheme�host�port�target)�	proxy_url�
  78  proxy_auth�
  79  proxy_headersri�proxy_ssl_contextrjrkrlrYrZrc�Zsocks5Zsocks5h�{Using SOCKS proxy, but the 'socksio' package is not installed. Make sure to install httpx using `pip install httpx[socks]`.�rurvrirjrkrlrYrZzOProxy protocol must be either 'http', 'https', 'socks5', or 'socks5h', but got �.)r*r2r4rrr�ConnectionPoolrjrkrl�_poolrfrqZ	HTTPProxy�
  80  raw_scheme�raw_hostrs�raw_path�raw_auth�headers�rawri�socksio�ImportErrorZ
  81  SOCKSProxy�
  82  ValueError�rBrSrUrWrYrZr[r\r^r`rarcr*rir�r+r+r,rC�s�����������zHTTPTransport.__init__rBr!cCs|j��|Sr>)r~�	__enter__rLr+r+r,r��s
  83  zHTTPTransport.__enter__�exc_type�type[BaseException] | None�	exc_value�BaseException | None�	traceback�TracebackType | NonecCs<t��|j�|||�Wd�dS1swYdSr>)r7r~�__exit__�rBr�r�r�r+r+r,r��s"�zHTTPTransport.__exit__�requestrrcCs�t|jt�sJ�ddl}|j|j|j|jj|jj	|jj
  84  |jjd�|jj
  85  |j|jd�}t��|j�|�}Wd�n1s>wYt|jtj�sLJ�t|j|jt|j�|jd�S�Nrrp)�methodrfr��content�
  86  extensions)�status_coder��streamr�)r2r�rr*rr�rrfrr�rsr�r�r�r�r7r~�handle_request�typing�Iterabler�statusr9�rBr�r*�req�respr+r+r,r��s0����zHTTPTransport.handle_requestcCs|j��dSr>)r~rJrLr+r+r,rJszHTTPTransport.close�rSrTrUrVrWrXrYrXrZrXr[rr\r]r^r_r`r_rarbrcrdr(r<)rBr!r(r!�NNN�r�r�r�r�r�r�r(r<�r�rr(rrM)	rNrOrPrrCr�r�r�rJr+r+r+r,r"��(�
  87  Q�
  88  	c@r8)�AsyncResponseStreamr:�typing.AsyncIterable[bytes]r(r<cCr=r>r?rAr+r+r,rC
  89  rDzAsyncResponseStream.__init__�typing.AsyncIterator[bytes]cCsJ�t��|j2z	3dHW}|Vq6Wd�dS1swYdSr>rFrGr+r+r,�	__aiter__
  90  s��"�zAsyncResponseStream.__aiter__c�s&�t|jd�r|j��IdHdSdS)N�aclose)rKr@r�rLr+r+r,r�s��zAsyncResponseStream.acloseN)r:r�r(r<)r(r�rM)rNrOrPrCr�r�r+r+r+r,r�	rQr�c@rR)5r%TNFrrSrTrUrVrWrXrYrZr[rr\r]r^r_r`rarbrcrdr(r<c
  91  CsBddl}t|ttf�rt|d�n|}t|||d�}
  92  |dur2|j|
  93  |j|j|j	||||	|
  94  |d�
  95  |_
  96  dS|jjdvra|j
  97  |j|jj|jj|jj|jjd�|j|jj|j|
  98  |j|j|j	|||d�|_
  99  dS|jjdvr�zddl}Wntyytd	�d�w|j|j|jj|jj|jj|jjd�|j|
 100  |j|j|j	||d
 101  �|_
 102  dStd��)Nrrergrhrmrp)rurvrwrxrirjrkrlrYrZrcryrzr{zdProxy protocol must be either 'http', 'https', 'socks5', or 'socks5h', but got {proxy.url.scheme!r}.)r*r2r4rrrZAsyncConnectionPoolrjrkrlr~rfrqZAsyncHTTPProxyrr�rsr�r�r�r�rir�r�ZAsyncSOCKSProxyr�r�r+r+r,rCs~���������zAsyncHTTPTransport.__init__rBr$c�s�|j��IdH|Sr>)r~�
 103  __aenter__rLr+r+r,r�is�zAsyncHTTPTransport.__aenter__r�r�r�r�r�r�c�sD�t��|j�|||�IdHWd�dS1swYdSr>)r7r~�	__aexit__r�r+r+r,r�ms�"�zAsyncHTTPTransport.__aexit__r�rrc�s��t|jt�s	J�ddl}|j|j|j|jj|jj	|jj
 104  |jjd�|jj
 105  |j|jd�}t��|j�|�IdH}Wd�n1sBwYt|jtj�sPJ�t|j|jt|j�|jd�Sr�)r2r�rr*rr�rrfrr�rsr�r�r�r�r7r~�handle_async_requestr��
 106  AsyncIterablerr�r�r�r+r+r,r�vs2�����z'AsyncHTTPTransport.handle_async_requestc�s�|j��IdHdSr>)r~r�rLr+r+r,r��s�zAsyncHTTPTransport.acloser�)rBr$r(r$r�r�r�rM)	rNrOrPrrCr�r�r�r�r+r+r+r,r%r�)r(r&)r(r.)>�__doc__�
 107  __future__r�
 108  contextlibr��typesr�
 109  TYPE_CHECKING�sslZhttpx�_configrrrr�_exceptionsr	r
 110  rrr
 111  rrrrrrrrrZ_modelsrr�_typesrrrrZ_urlsr�baserr �TypeVarr!r$�Union�Tuplerb�bytes�	bytearrayZ
 112  SOCKET_OPTION�__all__r'�__annotations__r-�contextmanagerr7r9r"r�r%r+r+r+r,�<module>s@@��
 113