
    2Bhy                     T    S SK r S SKr " S S5      r " S S\5      r " S S\5      rg)    Nc                   0    \ rS rSrS rS rSS jrS rSrg)	Unreader   c                 8    [         R                  " 5       U l        g N)ioBytesIObufselfs    H/var/www/html/env/lib/python3.13/site-packages/gunicorn/http/unreader.py__init__Unreader.__init__   s    ::<    c                     [        5       er   )NotImplementedErrorr   s    r   chunkUnreader.chunk   s    !##r   Nc                    Ub   [        U[        5      (       d  [        S5      eUb  US:X  a  gUS:  a  S nU R                  R	                  S[
        R                  5        UcU  U R                  R                  5       (       a6  U R                  R                  5       n[        R                  " 5       U l        U$ Uc  U R                  5       nU$ U R                  R                  5       U:  a  U R                  5       nU(       d6  U R                  R                  5       n[        R                  " 5       U l        U$ U R                  R                  U5        U R                  R                  5       U:  a  M  U R                  R                  5       n[        R                  " 5       U l        U R                  R                  XQS  5        US U $ )Nz&size parameter must be an int or long.r   r   )
isinstanceint	TypeErrorr
   seekosSEEK_ENDtellgetvaluer   r	   r   write)r   sizeretdr   datas         r   readUnreader.read   sG   JtS$9$9DEEqyaxa%<DHHMMOO((##%Czz|DHJ<

AHhhmmo$JJLEhh'')::<
HHNN5! hhmmo$ xx  "::<tE{#ET{r   c                     U R                   R                  S[        R                  5        U R                   R	                  U5        g )Nr   )r
   r   r   r   r   )r   r"   s     r   unreadUnreader.unread3   s(    a%tr   )r
   r   )	__name__
__module____qualname____firstlineno__r   r   r#   r&   __static_attributes__ r   r   r   r      s     $@r   r   c                   2   ^  \ rS rSrSU 4S jjrS rSrU =r$ )SocketUnreader8   c                 :   > [         TU ]  5         Xl        X l        g r   )superr   sockmxchunk)r   r3   	max_chunk	__class__s      r   r   SocketUnreader.__init__9   s    	 r   c                 L    U R                   R                  U R                  5      $ r   )r3   recvr4   r   s    r   r   SocketUnreader.chunk>   s    yy~~dll++r   )r4   r3   )i    r(   r)   r*   r+   r   r   r,   __classcell__r6   s   @r   r/   r/   8   s    !
, ,r   r/   c                   .   ^  \ rS rSrU 4S jrS rSrU =r$ )IterUnreaderB   c                 B   > [         TU ]  5         [        U5      U l        g r   )r2   r   iter)r   iterabler6   s     r   r   IterUnreader.__init__C   s    N	r   c                     U R                   (       d  g [        U R                   5      $ ! [         a
    S U l          gf = f)Nr   )rB   nextStopIterationr   s    r   r   IterUnreader.chunkG   s8    yy			?" 	DI	s   ) ==)rB   r;   r=   s   @r   r?   r?   B   s    # r   r?   )r   r   r   r/   r?   r-   r   r   <module>rI      s0   
 
 	) )X,X ,8 r   