
) Xu                 @   sX   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   sV   y |  j  SWn t k
 r Yn Xy |  j d k SWn t k
 rE Yn Xt 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.)closedAttributeErrorfp
ValueError)obj r   W/home/ubuntu/projects/ifolica/build/requests/requests/packages/urllib3/util/response.pyis_fp_closed   s    r   c             C   s   t  |  t j  s0 t d j t |      n  t |  d d  } t |  d d  } d } | rl |   } n  | sx | r t d | d |   n  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unparsed_data)
isinstancehttplibHTTPMessage	TypeErrorformattypegetattrr   )headersr   r   r   r   r   r   assert_header_parsing   s    	r   c             C   s2   |  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`
       HEAD)_methodr   intupper)responsemethodr   r   r   is_response_to_head>   s    		
r!   N)

__future__r   Zpackages.six.movesr   r   
exceptionsr   r   r   r!   r   r   r   r   <module>   s
   