
     i                     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/ias/venv/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                  5       n[        R                  " 5       U l         U R                   R	                  U5        U R                   R	                  U5        g r   )r
   r   r   r	   r   )r   r"   rests      r   unreadUnreader.unread3   sA    xx  "::<t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$ )SocketUnreader:   c                 :   > [         TU ]  5         Xl        X l        g r   )superr   sockmxchunk)r   r4   	max_chunk	__class__s      r   r   SocketUnreader.__init__;   s    	 r   c                 L    U R                   R                  U R                  5      $ r   )r4   recvr5   r   s    r   r   SocketUnreader.chunk@   s    yy~~dll++r   )r5   r4   )i    r)   r*   r+   r,   r   r   r-   __classcell__r7   s   @r   r0   r0   :   s    !
, ,r   r0   c                   .   ^  \ rS rSrU 4S jrS rSrU =r$ )IterUnreaderD   c                 B   > [         TU ]  5         [        U5      U l        g r   )r3   r   iter)r   iterabler7   s     r   r   IterUnreader.__init__E   s    N	r   c                     U R                   (       d  g [        U R                   5      $ ! [         a
    S U l          gf = f)Nr   )rC   nextStopIterationr   s    r   r   IterUnreader.chunkI   s8    yy			?" 	DI	s   ) ==)rC   r<   r>   s   @r   r@   r@   D   s    # r   r@   )r   r   r   r0   r@   r.   r   r   <module>rJ      s0   
 
 	+ +\,X ,8 r   