Format: application/x-python-code
⬇ Download File (7.1 KB)
   1  o
   2  
   3  C'h��@sTddlmZddlZddlZddlmZddlmZm	Z	m
   4  Z
   5  mZmZm
   6  Z
   7  ddlmZddlmZmZddlmZdd	lmZmZmZmZmZmZdd
   8  lmZmZdgZGdd�dee�Z Gd
   9  d�de�Z!Gdd�de�Z"Gdd�dee�Z#d:dd�Z$d;dd�Z%d<d#d$�Z&d=d'd(�Z'd>d*d+�Z(d?d.d/�Z)					d@dAd4d5�Z*				dBdCd8d9�Z+dS)D�)�annotationsN)�dumps)�Any�
  10  AsyncIterable�
  11  AsyncIterator�Iterable�Iterator�Mapping)�	urlencode�)�StreamClosed�StreamConsumed)�MultipartStream)�AsyncByteStream�RequestContent�RequestData�RequestFiles�ResponseContent�SyncByteStream)�peek_filelike_length�primitive_value_to_str�
  12  ByteStreamc@s*eZdZddd�Zddd	�Zddd�Zd
  13  S)r�stream�bytes�return�NonecCs
  14  ||_dS�N��_stream��selfr�r!�DC:\Users\shubh\Videos\agent\nova\Lib\site-packages\httpx/_content.py�__init__ s
  15  zByteStream.__init__�Iterator[bytes]ccs�|jVdSrr�r r!r!r"�__iter__#��zByteStream.__iter__�AsyncIterator[bytes]cCs�|jVdSrrr%r!r!r"�	__aiter__&r'zByteStream.__aiter__N)rrrr�rr$�rr()�__name__�
  16  __module__�__qualname__r#r&r)r!r!r!r"rs
  17  
  18  c@�$eZdZdZddd�Zd
  19  d	d
  20  �ZdS)�IteratorByteStream�r�Iterable[bytes]rrcC�||_d|_t�|�|_dS�NF)r�_is_stream_consumed�inspect�isgenerator�
  21  _is_generatorrr!r!r"r#-�zIteratorByteStream.__init__r$ccsn�|jr
  22  |jr
  23  t��d|_t|jd�r,|j�|j�}|r*|V|j�|j�}|sdSdS|jD]}|Vq/dS)NT�read)r5r8r
  24  �hasattrrr:�
  25  CHUNK_SIZE�r �chunk�partr!r!r"r&2s��
  26  �zIteratorByteStream.__iter__N)rr2rrr*)r,r-r.r<r#r&r!r!r!r"r0*�
  27  r0c@r/)�AsyncIteratorByteStreamr1r�AsyncIterable[bytes]rrcCr3r4)rr5r6�
  28  isasyncgenr8rr!r!r"r#Fr9z AsyncIteratorByteStream.__init__r(cCs��|jr
  29  |jr
  30  t��d|_t|jd�r2|j�|j�IdH}|r0|V|j�|j�IdH}|sdSdS|j2z	3dHW}|Vq56dS)NT�aread)r5r8r
  31  r;rrDr<r=r!r!r"r)Ks���z!AsyncIteratorByteStream.__aiter__N)rrBrrr+)r,r-r.r<r#r)r!r!r!r"rACr@rAc@s$eZdZdZd
  32  dd�Zddd�Zd	S)�UnattachedStreamz�
  33      If a request or response is serialized using pickle, then it is no longer
  34      attached to a stream for I/O purposes. Any stream operations should result
  35      in `httpx.StreamClosed`.
  36      rr$cCst��r�rr%r!r!r"r&cszUnattachedStream.__iter__r(cCs�t��rrFr%r!r!r"r)fs�zUnattachedStream.__aiter__Nr*r+)r,r-r.�__doc__r&r)r!r!r!r"rE\s
  37  rE�content�4str | bytes | Iterable[bytes] | AsyncIterable[bytes]r�7tuple[dict[str, str], SyncByteStream | AsyncByteStream]cCs�t|ttf�r't|t�r|�d�n|}t|�}|rdt|�ini}|t|�fSt|t�rJt|t�sJt|�}|dur>ddi}ndt|�i}|t	|�fSt|t
  38  �rYddi}|t|�fStdt
  39  |�����)N�utf-8�Content-LengthzTransfer-Encoding�chunkedzUnexpected type for 'content', )�
  40  isinstancer�str�encode�lenrr�dictrr0rrA�	TypeError�type)rH�body�content_length�headersZcontent_length_or_noner!r!r"�encode_contentks
  41  
  42  rX�datar�!tuple[dict[str, str], ByteStream]cs�g}|��D]!\�}t|ttf�r|��fdd�|D��q|��t|�f�qt|dd��d�}t	t
  43  |��}d}||d�}|t|�fS)Ncsg|]}�t|�f�qSr!)r)�.0�item��keyr!r"�
  44  <listcomp>�sz*encode_urlencoded_data.<locals>.<listcomp>T)�doseqrKz!application/x-www-form-urlencoded�rLzContent-Type)�itemsrN�list�tuple�extend�appendrr
  45  rPrOrQr)rYZ
  46  plain_data�valuerUrV�content_typerWr!r]r"�encode_urlencoded_data�s
  47  ri�filesr�boundary�bytes | None�&tuple[dict[str, str], MultipartStream]cCst|||d�}|��}||fS)N)rYrjrk)rZget_headers)rYrjrk�	multipartrWr!r!r"�encode_multipart_data�sro�textrOcC�0|�d�}tt|��}d}||d�}|t|�fS)NrKztext/plain; charset=utf-8ra�rPrOrQr)rprUrVrhrWr!r!r"�encode_text��
  48  
  49  
  50  rs�htmlcCrq)NrKztext/html; charset=utf-8rarr)rurUrVrhrWr!r!r"�encode_html�rtrv�jsonrcCs<t|dddd��d�}tt|��}d}||d�}|t|�fS)NF)�,�:)�ensure_ascii�
  51  separators�	allow_nanrKzapplication/jsonra)�
  52  json_dumpsrPrOrQr)rwrUrVrhrWr!r!r"�encode_json�s��
  53  r~�RequestContent | None�RequestData | None�RequestFiles | None�
  54  Any | NonecCsz|durt|t�sd}tj|tdd�t|�S|durt|�S|r)t|p%i||�S|r/t|�S|dur7t|�Sit	d�fS)z�
  55      Handles encoding the given `content`, `data`, `files`, and `json`,
  56      returning a two-tuple of (<headers>, <stream>).
  57      Nz5Use 'content=<...>' to upload raw bytes/text content.�)�
  58  stacklevel�)
  59  rNr	�warnings�warn�DeprecationWarningrXrorir~r)rHrYrjrwrk�messager!r!r"�encode_request�sr��ResponseContent | None�
  60  str | NonecCsL|durt|�S|durt|�S|durt|�S|dur t|�Sitd�fS)zc
  61      Handles encoding the given `content`, returning a two-tuple of
  62      (<headers>, <stream>).
  63      Nr�)rXrsrvr~r)rHrprurwr!r!r"�encode_response�s
  64  r�)rHrIrrJ)rYrrrZ)rYrrjrrkrlrrm)rprOrrZ)rurOrrZ)rwrrrZ)NNNNN)rHrrYr�rjr�rwr�rkrlrrJ)NNNN)
  65  rHr�rpr�rur�rwr�rrJ),�
  66  __future__rr6r�rwrr}�typingrrrrrr	�urllib.parser
  67  �_exceptionsrr
  68  Z
  69  _multipartr�_typesrrrrrr�_utilsrr�__all__rr0rArErXrirorsrvr~r�r�r!r!r!r"�<module>s@  
  70  
  71  
  72  
  73  
  74  
  75  �$�