U
    ‰dT  ã                   @   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   ú8/tmp/pip-unpacked-wheel-1tw_qy24/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   sx   | j r| j  ¡ rtƒ ‚| j r>| j j d¡}|r>| j j d¡}q*|  jd7  _|  | j| j| j	| j¡| _ | j srtƒ ‚| 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   (