
     i                     R    S SK r S SKJr  S SKJrJr   " S S5      r " S S\5      rg)    N)Request)SocketUnreaderIterUnreaderc                   4    \ rS rSrSrS rS rS rS r\r	Sr
g)Parser   Nc                     Xl         [        US5      (       a  [        U5      U l        O[	        U5      U l        S U l        X0l        SU l        g )Nrecvr   )cfghasattrr   unreaderr   mesgsource_addr	req_count)selfr   sourcer   s       F/var/www/ias/venv/lib/python3.13/site-packages/gunicorn/http/parser.py__init__Parser.__init__   sB    66""*62DM(0DM	&     c                     U $ )N r   s    r   __iter__Parser.__iter__   s    r   c                    U R                   (       a]   U R                   R                  R                  S5      nU(       a/  U R                   R                  R                  S5      nU(       a  M.  ggg! [        R                   a     gf = f)zDiscard any unread body of the current message.

This should be called before returning a keepalive connection to
the poller to ensure the socket doesn't appear readable due to
leftover body bytes.
i   N)r   bodyreadsslSSLWantReadError)r   datas     r   finish_bodyParser.finish_body   si     99yy~~**4099>>..t4D d 
 '' s   AA0 0BBc                    U R                   (       a)  U R                   R                  5       (       a
  [        5       eU R                  5         U =R                  S-  sl        U R                  U R                  U R                  U R                  U R                  5      U l         U R                   (       d
  [        5       eU R                   $ )N   )	r   should_closeStopIterationr"   r   
mesg_classr   r   r   r   s    r   __next__Parser.__next__.   s    99//11/! 	 	!OODHHdmmT=M=Mt~~^	yy/!yyr   )r   r   r   r   r   )__name__
__module____qualname____firstlineno__r(   r   r   r"   r)   next__static_attributes__r   r   r   r   r      s"    J
  Dr   r   c                       \ rS rSr\rSrg)RequestParser@   r   N)r+   r,   r-   r.   r   r(   r0   r   r   r   r2   r2   @   s    Jr   r2   )r   gunicorn.http.messager   gunicorn.http.unreaderr   r   r   r2   r   r   r   <module>r6      s'   
  ) ?2 2jF r   