ó
    °"³j!  ã                  ó¼  • S SK Jr  S SKrS SKrS SKJrJrJrJrJ	r	J
r
  S SKJr  S SKJr  S SKJr  SSKJrJr  SS	KJr  SS
KJrJrJrJrJrJr  SSKJrJ r   S/r! " S S\\5      r" " S S\5      r# " S S\5      r$ " S S\\5      r%    SS jr&SS jr'        SS jr(SS jr)S S jr*S!S jr+     S"           S#S jjr,    S$         S%S jjr-g)&é    )ÚannotationsN)ÚAsyncGeneratorÚAsyncIterableÚAsyncIteratorÚIterableÚIteratorÚMapping)Údumps)ÚAny)Ú	urlencodeé   )ÚStreamClosedÚStreamConsumed)ÚMultipartStream)ÚAsyncByteStreamÚRequestContentÚRequestDataÚRequestFilesÚResponseContentÚSyncByteStream)Úpeek_filelike_lengthÚprimitive_value_to_strÚ
ByteStreamc                  ó2   • \ rS rSrSS jrSS jrS	S jrSrg)
r   é   c                ó   • Xl         g ©N©Ú_stream©ÚselfÚstreams     ÚL/home/mande/repo/quber/.venv/lib/python3.13/site-packages/httpx2/_content.pyÚ__init__ÚByteStream.__init__   s   € Ø�ó    c              #  ó(   #   • U R                   v •  g 7fr   r   ©r!   s    r#   Ú__iter__ÚByteStream.__iter__   s   é € Ø�l‰lÓùs   ‚c               ó*   #   • U R                   7v •  g 7fr   r   r(   s    r#   Ú	__aiter__ÚByteStream.__aiter__"   s   é € Ø�l‰lÔùs   ‚r   N)r"   ÚbytesÚreturnÚNone©r/   zIterator[bytes]©r/   zAsyncIterator[bytes])Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r$   r)   r,   Ú__static_attributes__© r&   r#   r   r      s   † ôô÷r&   c                  ó,   • \ rS rSrSrSS jrSS jrSrg)	ÚIteratorByteStreamé&   é   c                óT   • Xl         SU l        [        R                  " U5      U l        g ©NF)r   Ú_is_stream_consumedÚinspectÚisgeneratorÚ_is_generatorr    s     r#   r$   ÚIteratorByteStream.__init__)   s"   € ØŒØ#(ˆÔ Ü$×0Ò0°Ó8ˆÕr&   c              #  ó”  #   • U R                   (       a  U R                  (       a
  [        5       eSU l         [        U R                  S5      (       a`  U R                  R                  U R                  5      nU(       a3  Uv •  U R                  R                  U R                  5      nU(       a  M2  g g U R                   S h  v•N   g  N7f)NTÚread)r?   rB   r   Úhasattrr   rE   Ú
CHUNK_SIZE)r!   Úchunks     r#   r)   ÚIteratorByteStream.__iter__.   s†   é € Ø×#×#¨×(:×(:Ü Ó"Ð"à#'ˆÔ Ü�4—<‘< ×(Ñ(à—L‘L×%Ñ% d§o¡oÓ6ˆEÞØ’ØŸ™×)Ñ)¨$¯/©/Ó:�÷ ’%ð
 —|‘|×#Ó#ùs   ‚B+CÂ/CÃ CÃC©rB   r?   r   N)r"   zIterable[bytes]r/   r0   r1   )r3   r4   r5   r6   rG   r$   r)   r7   r8   r&   r#   r:   r:   &   s   † Ø€Jô9÷
$r&   r:   c                  ó,   • \ rS rSrSrSS jrSS jrSrg)	ÚAsyncIteratorByteStreamé>   r<   c                óT   • Xl         SU l        [        R                  " U5      U l        g r>   )r   r?   r@   Ú
isasyncgenrB   r    s     r#   r$   Ú AsyncIteratorByteStream.__init__A   s"   € ØŒØ#(ˆÔ Ü$×/Ò/°Ó7ˆÕr&   c               ó¸  #   • U R                   (       a  U R                  (       a
  [        5       eSU l         [        U R                  S5      (       aq  U R                  R                  U R                  5      I S h  v•N nU(       a<  U7v •  U R                  R                  U R                  5      I S h  v•N nU(       a  M;  g g U R                  R                  5       n U  S h  v•N nU7v •  M   Nu N> N
 [        U[        5      (       a  UR                  5       I S h  v•N    g g ! [        U[        5      (       a  UR                  5       I S h  v•N    f f = f7f)NTÚaread)r?   rB   r   rF   r   rR   rG   r,   Ú
isinstancer   Úaclose)r!   rH   r"   Úparts       r#   r,   Ú!AsyncIteratorByteStream.__aiter__F   sû   é € Ø×#×#¨×(:×(:Ü Ó"Ð"à#'ˆÔ Ü�4—<‘< ×)Ñ)àŸ,™,×,Ñ,¨T¯_©_Ó=×=ˆEÞØ“Ø"Ÿl™l×0Ñ0°·±ÓA×A�÷ ’%ð —\‘\×+Ñ+Ó-ˆFð*Ù"(÷ ˜$Ø•Jñ >ñ Bñ &ô ˜f¤n×5Ñ5Ø Ÿ-™-›/×)Ò)ð 6ø”:˜f¤n×5Ñ5Ø Ÿ-™-›/×)Ò)ð 6üs„   ‚A7EÁ9C/Á:8EÂ2C1Â3EÃ EÃD& ÃC5Ã#C3Ã$C5Ã'D& Ã/EÃ1EÃ3C5Ã5D& Ã6(EÄD!ÄEÄ&)EÅEÅEÅErJ   N)r"   zAsyncIterable[bytes]r/   r0   r2   )r3   r4   r5   r6   rG   r$   r,   r7   r8   r&   r#   rL   rL   >   s   † Ø€Jô8÷
*r&   rL   c                  ó,   • \ rS rSrSrSS jrSS jrSrg)	ÚUnattachedStreamé]   z°
If a request or response is serialized using pickle, then it is no longer
attached to a stream for I/O purposes. Any stream operations should result
in `httpx2.StreamClosed`.
c                ó   • [        5       er   ©r   r(   s    r#   r)   ÚUnattachedStream.__iter__d   s
   € Ü‹nÐr&   c               ó   #   • [        5       e7fr   r[   r(   s    r#   r,   ÚUnattachedStream.__aiter__g   s   é € Ü‹nÐùs   ‚r8   Nr1   r2   )r3   r4   r5   r6   Ú__doc__r)   r,   r7   r8   r&   r#   rX   rX   ]   s   † ñô÷r&   rX   c                ó  • [        U [        [        45      (       aV  [        U [        5      (       a  U R                  S5      OU n[	        U5      nU(       a  S[        U5      0O0 nU[        U5      4$ [        U [        5      (       aB  [        U [        5      (       d-  [        U 5      nUc  SS0nOS[        U5      0nU[        U 5      4$ [        U [        5      (       a  SS0nU[        U 5      4$ [        S[        U 5      < 35      e)Núutf-8úContent-LengthzTransfer-EncodingÚchunkedzUnexpected type for 'content', )rS   r.   ÚstrÚencodeÚlenr   r   Údictr   r:   r   rL   Ú	TypeErrorÚtype)ÚcontentÚbodyÚcontent_lengthÚheadersÚcontent_length_or_nones        r#   Úencode_contentro   l   sõ   € ô �'œE¤3˜<×(Ñ(Ü*4°W¼c×*BÑ*Bˆw�~‰~˜gÔ&ÈˆÜ˜T›ˆÞ=AÐ#¤S¨Ó%8Ñ9ÀrˆØœ
 4Ó(Ð(Ð(ä	�GœX×	&Ñ	&¬z¸'Ä4×/HÑ/Hô
 "6°gÓ!>Ðà!Ñ)Ø*¨IÐ6‰Gà'¬Ð-CÓ)DÐEˆGØÔ*¨7Ó3Ð3Ð3ä	�Gœ]×	+Ñ	+Ø&¨	Ð2ˆØÔ/°Ó8Ð8Ð8ä
Ð5´d¸7³mÑ5FÐGÓ
HÐHr&   c           
     óŒ  • / nU R                  5        Hj  u  p#[        U[        [        45      (       a.  UR	                  U Vs/ s H  oB[        U5      4PM     sn5        MN  UR                  U[        U5      45        Ml     [        USS9R                  S5      n[        [        U5      5      nSnXgS.nU[        U5      4$ s  snf )NT)Údoseqra   z!application/x-www-form-urlencoded©rb   zContent-Type)ÚitemsrS   ÚlistÚtupleÚextendr   Úappendr   re   rd   rf   r   )	ÚdataÚ
plain_dataÚkeyÚvalueÚitemrk   rl   Úcontent_typerm   s	            r#   Úencode_urlencoded_datar~   ‰   s²   € Ø(*€JØ—j‘j–l‰
ˆÜ�eœd¤E˜]×+Ñ+Ø×ÑÉuÓUÊuÀtÔ%;¸DÓ%AÓBÉuÑUÖVà×Ñ˜sÔ$:¸5Ó$AÐBÖCñ	 #ô
 �Z tÑ,×3Ñ3°GÓ<€DÜœ˜T›“^€NØ6€LØ!/ÑN€GØ”J˜tÓ$Ð$Ð$ùò Vs   ÁC
c                ó<   • [        XUS9nUR                  5       nXC4$ )N)rx   ÚfilesÚboundary)r   Úget_headers)rx   r€   r�   Ú	multipartrm   s        r#   Úencode_multipart_datar„   —   s'   € ô   TÀÑJ€IØ×#Ñ#Ó%€GØÐÐr&   c                ór   • U R                  S5      n[        [        U5      5      nSnX#S.nU[        U5      4$ )Nra   ztext/plain; charset=utf-8rr   ©re   rd   rf   r   )Útextrk   rl   r}   rm   s        r#   Úencode_textrˆ   Ÿ   s:   € Ø�;‰;�wÓ€DÜœ˜T›“^€NØ.€LØ!/ÑN€GØ”J˜tÓ$Ð$Ð$r&   c                ór   • U R                  S5      n[        [        U5      5      nSnX#S.nU[        U5      4$ )Nra   ztext/html; charset=utf-8rr   r†   )Úhtmlrk   rl   r}   rm   s        r#   Úencode_htmlr‹   §   s:   € Ø�;‰;�wÓ€DÜœ˜T›“^€NØ-€LØ!/ÑN€GØ”J˜tÓ$Ð$Ð$r&   c                ó†   • [        U SSSS9R                  S5      n[        [        U5      5      nSnX#S.nU[	        U5      4$ )NF)Ú,Ú:)Úensure_asciiÚ
separatorsÚ	allow_nanra   zapplication/jsonrr   )Ú
json_dumpsre   rd   rf   r   )Újsonrk   rl   r}   rm   s        r#   Úencode_jsonr”   ¯   sI   € Ü�d¨¸:ÐQVÑW×^Ñ^Ð_fÓg€DÜœ˜T›“^€NØ%€LØ!/ÑN€GØ”J˜tÓ$Ð$Ð$r&   c                ó.  • Ub<  [        U[        5      (       d'  Sn[        R                  " U[        SS9  [        U5      $ U b  [        U 5      $ U(       a  [        U=(       d    0 X$5      $ U(       a  [        U5      $ Ub  [        U5      $ 0 [        S5      4$ )zt
Handles encoding the given `content`, `data`, `files`, and `json`,
returning a two-tuple of (<headers>, <stream>).
z5Use 'content=<...>' to upload raw bytes/text content.é   )Ú
stacklevelr&   )
rS   r	   ÚwarningsÚwarnÚDeprecationWarningro   r„   r~   r”   r   )rj   rx   r€   r“   r�   Úmessages         r#   Úencode_requestrœ   ·   s�   € ð Ñ¤
¨4´× 9Ñ 9ð JˆÜ�Š�gÔ1¸aÒ@Ü˜dÓ#Ð#àÑÜ˜gÓ&Ð&Þ	Ü$ T§Z¨R°ÓAÐAÞ	Ü% dÓ+Ð+Ø	Ñ	Ü˜4Ó Ð àŒz˜#‹ÐÐr&   c                óŒ   • U b  [        U 5      $ Ub  [        U5      $ Ub  [        U5      $ Ub  [        U5      $ 0 [	        S5      4$ )zW
Handles encoding the given `content`, returning a two-tuple of
(<headers>, <stream>).
r&   )ro   rˆ   r‹   r”   r   )rj   r‡   rŠ   r“   s       r#   Úencode_responserž   Ú   sW   € ð ÑÜ˜gÓ&Ð&Ø	Ñ	Ü˜4Ó Ð Ø	Ñ	Ü˜4Ó Ð Ø	Ñ	Ü˜4Ó Ð àŒz˜#‹ÐÐr&   )rj   z4str | bytes | Iterable[bytes] | AsyncIterable[bytes]r/   ú7tuple[dict[str, str], SyncByteStream | AsyncByteStream])rx   r   r/   ú!tuple[dict[str, str], ByteStream])rx   r   r€   r   r�   úbytes | Noner/   z&tuple[dict[str, str], MultipartStream])r‡   rd   r/   r    )rŠ   rd   r/   r    )r“   r   r/   r    )NNNNN)rj   zRequestContent | Nonerx   zRequestData | Noner€   zRequestFiles | Noner“   ú
Any | Noner�   r¡   r/   rŸ   )NNNN)
rj   zResponseContent | Noner‡   ú
str | NonerŠ   r£   r“   r¢   r/   rŸ   ).Ú
__future__r   r@   r˜   Úcollections.abcr   r   r   r   r   r	   r“   r
   r’   Útypingr   Úurllib.parser   Ú_exceptionsr   r   Ú
_multipartr   Ú_typesr   r   r   r   r   r   Ú_utilsr   r   Ú__all__r   r:   rL   rX   ro   r~   r„   rˆ   r‹   r”   rœ   rž   r8   r&   r#   Ú<module>r­      sS  ðÝ "ã Û ß e× eÝ $õõ #ç 5Ý '÷÷ ÷ Aàˆ.€ô� .ô ô$˜ô $ô0*˜oô *ô>�¨ô ðIØAðIà<ôIô:%ðØ
ðØ*ðØ6Bðà+ôô%ô%ô%ð &*Ø#Ø!%ØØ!ð Ø"ð à
ð ð ð ð ð	 ð
 ð ð =õ ðH '+ØØØð	Ø#ðà
ðð ðð ð	ð
 =ör&   