
    +h                     V    d dl Z d dlZ G d de      Z G d de      Z G d de      Zy)    Nc                   &    e Zd Zd Zd ZddZd Zy)Unreaderc                 6    t        j                         | _        y N)ioBytesIObufselfs    I/var/www/html/venv/lib/python3.12/site-packages/gunicorn/http/unreader.py__init__zUnreader.__init__   s    ::<    c                     t               r   )NotImplementedErrorr
   s    r   chunkzUnreader.chunk   s    !##r   Nc                 ^   |t        |t              st        d      ||dk(  ry|dk  rd }| j                  j	                  dt
        j                         |O| j                  j                         r5| j                  j                         }t        j                         | _        |S || j                         }|S | j                  j                         |k  r| j                         }|s5| j                  j                         }t        j                         | _        |S | j                  j                  |       | j                  j                         |k  r| j                  j                         }t        j                         | _        | j                  j                  ||d         |d | S )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   readzUnreader.read   sD   JtS$9DEEqyaxa%<DHHMMO((##%Czz|DHJ<

AHhhmmo$JJLEhh'')::<
HHNN5! hhmmo$ xx  "::<tDE{#ET{r   c                     | j                   j                  dt        j                         | j                   j	                  |       y )Nr   )r	   r   r   r   r   )r   r   s     r   unreadzUnreader.unread4   s(    a%tr   r   )__name__
__module____qualname__r   r   r    r"    r   r   r   r      s     $@r   r   c                   &     e Zd Zd fd	Zd Z xZS )SocketUnreaderc                 >    t         |           || _        || _        y r   )superr   sockmxchunk)r   r+   	max_chunk	__class__s      r   r   zSocketUnreader.__init__:   s    	 r   c                 L    | j                   j                  | j                        S r   )r+   recvr,   r
   s    r   r   zSocketUnreader.chunk?   s    yy~~dll++r   )i    r#   r$   r%   r   r   __classcell__r.   s   @r   r(   r(   9   s    !
,r   r(   c                   $     e Zd Z fdZd Z xZS )IterUnreaderc                 B    t         |           t        |      | _        y r   )r*   r   iter)r   iterabler.   s     r   r   zIterUnreader.__init__D   s    N	r   c                 t    | j                   sy	 t        | j                         S # t        $ r
 d | _         Y yw xY w)Nr   )r7   nextStopIterationr
   s    r   r   zIterUnreader.chunkH   s8    yy			?" 	DI	s   $ 77r1   r3   s   @r   r5   r5   C   s    #r   r5   )r   r   objectr   r(   r5   r&   r   r   <module>r=      s2    
 	)v )X,X ,8 r   