
    h                       S SK Jr  S SKrS SK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  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)dumps)AnyAsyncIterableAsyncIteratorIterableIteratorMapping)	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     @/var/www/html/env/lib/python3.13/site-packages/httpx/_content.py__init__ByteStream.__init__    s        c              #  (   #    U R                   v   g 7fr   r   r    s    r"   __iter__ByteStream.__iter__#   s     lls   c               *   #    U R                   7v   g 7fr   r   r'   s    r"   	__aiter__ByteStream.__aiter__&   s     ll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                   H  nUv   M	     g 7f)NTread)r>   rA   r   hasattrr   rD   
CHUNK_SIZEr    chunkparts      r"   r(   IteratorByteStream.__iter__2   s     ##(:(: ""#' 4<<((LL%%doo6E))$//: %
 
 %s   B+C	/C	rA   r>   r   N)r!   zIterable[bytes]r.   r/   r0   )r2   r3   r4   r5   rF   r#   r(   r6   r7   r%   r"   r9   r9   *   s    J9
r%   r9   c                  ,    \ rS rSrSrSS jrSS jrSrg)	AsyncIteratorByteStreamC   r;   c                T    Xl         SU l        [        R                  " U5      U l        g r=   )r   r>   r?   
isasyncgenrA   r   s     r"   r#    AsyncIteratorByteStream.__init__F   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                    S h  vN nU7v   M   Nd N- N
 g 7f)NTaread)r>   rA   r   rE   r   rS   rF   rG   s      r"   r+   !AsyncIteratorByteStream.__aiter__K   s     ##(:(: ""#' 4<<)),,,,T__==E"ll00AA %
 #ll d
 > BlsN   A7C&9C:8C&2C 3C& C&C$C"C$	C& C&"C$$C&rK   N)r!   zAsyncIterable[bytes]r.   r/   r1   )r2   r3   r4   r5   rF   r#   r+   r6   r7   r%   r"   rM   rM   C   s    J8
r%   rM   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 `httpx.StreamClosed`.
c                    [        5       er   r   r'   s    r"   r(   UnattachedStream.__iter__c   s
    nr%   c                  #    [        5       e7fr   rY   r'   s    r"   r+   UnattachedStream.__aiter__f   s     ns   r7   Nr0   r1   )r2   r3   r4   r5   __doc__r(   r+   r6   r7   r%   r"   rV   rV   \   s    r%   rV   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', )
isinstancer-   strencodelenr   r   dictr   r9   r   rM   	TypeErrortype)contentbodycontent_lengthheaderscontent_length_or_nones        r"   encode_contentrn   k   s     'E3<((*4Wc*B*Bw~~g&T=A#S%89r
4(((	GX	&	&z'4/H/H
 "6g!>!)*I6G'-C)DEG*7333	G]	+	+&	2/888
5d7m5F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)doseqr_   z!application/x-www-form-urlencodedr`   zContent-Type)itemsrb   listtupleextendr   appendr   rd   rc   re   r   )	data
plain_datakeyvalueitemrj   rk   content_typerl   s	            r"   encode_urlencoded_datar}      s     Jjjl
edE]++uUut%;D%ABuUVs$:5$ABC	 #
 Zt,33G<DT^N6L!/NGJt$$$ Vs   C
c                <    [        XUS9nUR                  5       nXC4$ )N)rw   filesboundary)r   get_headers)rw   r   r   	multipartrl   s        r"   encode_multipart_datar      s'      TJI##%Gr%   c                r    U R                  S5      n[        [        U5      5      nSnX#S.nU[        U5      4$ )Nr_   ztext/plain; charset=utf-8rq   rd   rc   re   r   )textrj   rk   r|   rl   s        r"   encode_textr      s:    ;;wDT^N.L!/NGJt$$$r%   c                r    U R                  S5      n[        [        U5      5      nSnX#S.nU[        U5      4$ )Nr_   ztext/html; charset=utf-8rq   r   )htmlrj   rk   r|   rl   s        r"   encode_htmlr      s:    ;;wDT^N-L!/NGJt$$$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_nanr_   zapplication/jsonrq   )
json_dumpsrd   rc   re   r   )jsonrj   rk   r|   rl   s        r"   encode_jsonr      sM    5Z5fWo 	 T^N%L!/NGJt$$$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%   )
rb   r
   warningswarnDeprecationWarningrn   r   r}   r   r   )ri   rw   r   r   r   messages         r"   encode_requestr      s     
4 9 9 Jg1a@d##g&&	$TZR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%   )rn   r   r   r   r   )ri   r   r   r   s       r"   encode_responser      sW     g&&		4  		4  		4  z#r%   )ri   z4str | bytes | Iterable[bytes] | AsyncIterable[bytes]r.   7tuple[dict[str, str], SyncByteStream | AsyncByteStream])rw   r   r.   !tuple[dict[str, str], ByteStream])rw   r   r   r   r   bytes | Noner.   z&tuple[dict[str, str], MultipartStream])r   rc   r.   r   )r   rc   r.   r   )r   r   r.   r   )NNNNN)ri   zRequestContent | Nonerw   zRequestData | Noner   zRequestFiles | Noner   
Any | Noner   r   r.   r   )NNNN)
ri   zResponseContent | Noner   
str | Noner   r   r   r   r.   r   ),
__future__r   r?   r   r   r   r   typingr   r   r   r   r	   r
   urllib.parser   _exceptionsr   r   
_multipartr   _typesr   r   r   r   r   r   _utilsr   r   __all__r   r9   rM   rV   rn   r}   r   r   r   r   r   r   r7   r%   r"   <module>r      sb   "   $  # 5 '  A..  2o 2 IAI<I:%
%&% 
*6B+%%% &*#!%! " 
    	 
   = H '+	#
  	
 =r%   