
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3
ÝPf'	  ã               @   s@   d dl mZ ddlmZ ddlmZ dd„ Zdd„ Zd	d
„ Z	dS )é    )Úabsolute_importé   )Úhttp_client)ÚHeaderParsingErrorc             C   sf   y| j ƒ S  tk
r   Y nX y| jS  tk
r8   Y nX y
| jdkS  tk
rX   Y nX tdƒ‚dS )zt
    Checks whether a given file-like object is closed.

    :param obj:
        The file-like object to check.
    Nz)Unable to determine whether fp is closed.)ZisclosedÚAttributeErrorÚclosedÚfpÚ
ValueError)Úobj© r   ú/usr/lib/python3.6/response.pyÚis_fp_closed   s    
r   c             C   s\   t | tjƒstdjt| ƒƒƒ‚t| ddƒ}t| ddƒ}d}|rD|ƒ }|sL|rXt||d�‚dS )aP  
    Asserts whether all headers have been successfully parsed.
    Extracts encountered errors from the result of parsing headers.

    Only works on Python 3.

    :param headers: Headers to verify.
    :type headers: `httplib.HTTPMessage`.

    :raises urllib3.exceptions.HeaderParsingError:
        If parsing errors are found.
    z"expected httplib.Message, got {0}.ÚdefectsNÚget_payload)r   Úunparsed_data)Ú
isinstanceÚhttplibZHTTPMessageÚ	TypeErrorÚformatÚtypeÚgetattrr   )Zheadersr   r   r   r   r   r   Úassert_header_parsing&   s    r   c             C   s$   | j }t|tƒr|dkS |jƒ dkS )z°
    Checks whether the request of a response has been a HEAD-request.
    Handles the quirks of AppEngine.

    :param conn:
    :type conn: :class:`httplib.HTTPResponse`
    é   ZHEAD)Ú_methodr   ÚintÚupper)ZresponseÚmethodr   r   r   Úis_response_to_headE   s    	
r   N)
Z
__future__r   Zpackages.six.movesr   r   Ú
exceptionsr   r   r   r   r   r   r   r   Ú<module>   s
   