o
    Š©ZhT  ã                   @   s@   d dl mZ d dlmZmZ G dd„ deƒZG dd„ deƒZdS )é    )ÚRequest)ÚSocketUnreaderÚIterUnreaderc                   @   s,   e Zd ZdZdd„ Zdd„ Zdd„ ZeZdS )ÚParserNc                 C   s<   || _ t|dƒrt|ƒ| _nt|ƒ| _d | _|| _d| _d S )NÚrecvr   )ÚcfgÚhasattrr   Úunreaderr   ÚmesgÚsource_addrÚ	req_count)Úselfr   Úsourcer   © r   úK/var/www/html/lang_env/lib/python3.10/site-packages/gunicorn/http/parser.pyÚ__init__   s   


zParser.__init__c                 C   s   | S )Nr   )r   r   r   r   Ú__iter__   s   zParser.__iter__c                 C   sz   | j r| j  ¡ rtƒ ‚| j r | j j d¡}|r | j j d¡}|s|  jd7  _|  | j| j| j	| j¡| _ | j s:tƒ ‚| j S )Ni    é   )
r
   Zshould_closeÚStopIterationÚbodyÚreadr   Ú
mesg_classr   r	   r   )r   Údatar   r   r   Ú__next__   s   ÿzParser.__next__)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   Únextr   r   r   r   r   
   s    r   c                   @   s   e Zd ZeZdS )ÚRequestParserN)r   r   r   r   r   r   r   r   r   r   2   s    r   N)Zgunicorn.http.messager   Zgunicorn.http.unreaderr   r   Úobjectr   r   r   r   r   r   Ú<module>   s   (