3
ûâdeÛ  ã               @   sp   U d dl mZmZ d dlmZmZ d dlmZ ddiZee	e	f eddœdd	„Z
efeeee d
œdd„ZdS )é    )ÚDictÚIterator)ÚCONTENT_CHUNK_SIZEÚResponse)ÚNetworkConnectionErrorzAccept-EncodingÚidentityN)ÚrespÚreturnc             C   sÄ   d}t | jtƒrDy| jjdƒ}W qJ tk
r@   | jjdƒ}Y qJX n| j}d| j  ko^dk n  r~| j› d|› d| j› �}n2d| j  ko’dk n  r°| j› d	|› d| j› �}|rÀt|| d
�‚d S )NÚ zutf-8z
iso-8859-1i�  iô  z Client Error: z
 for url: iX  z Server Error: )Úresponse)Ú
isinstanceÚreasonÚbytesÚdecodeÚUnicodeDecodeErrorÚstatus_codeÚurlr   )r   Úhttp_error_msgr   © r   ú:/tmp/pip-build-red6nood/pip/pip/_internal/network/utils.pyÚraise_for_status   s    r   )r   Ú
chunk_sizer	   c             c   s\   y$x| j j|dd�D ]
}|V  qW W n2 tk
rV   x| j j|ƒ}|sHP |V  q6W Y nX dS )z3Given a requests Response, provide the data chunks.F)Údecode_contentN)ÚrawÚstreamÚAttributeErrorÚread)r   r   Úchunkr   r   r   Úresponse_chunks9   s    r   )Útypingr   r   Zpip._vendor.requests.modelsr   r   Zpip._internal.exceptionsr   ZHEADERSÚstrr   Úintr   r   r   r   r   r   Ú<module>   s    