ó
^ęWc           @@  sO   d  d l  m Z d d l m Z d d l m Z d   Z d   Z d   Z	 d S(	   i    (   t   absolute_importi   (   t   http_client(   t   HeaderParsingErrorc         C@  sT   y |  j  SWn t k
 r n Xy |  j d k SWn t k
 rC n Xt d   d S(   st   
    Checks whether a given file-like object is closed.

    :param obj:
        The file-like object to check.
    s)   Unable to determine whether fp is closed.N(   t   closedt   AttributeErrort   fpt   Nonet
   ValueError(   t   obj(    (    s   /private/var/folders/3n/6h2rwf155rn1m71wwyxn79n80000gn/T/pip-build-IcAT_k/pip/pip/_vendor/requests/packages/urllib3/util/response.pyt   is_fp_closed   s    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(   sP  
    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.
    s"   expected httplib.Message, got {0}.t   defectst   get_payloadt   unparsed_dataN(	   t
   isinstancet   httplibt   HTTPMessaget	   TypeErrort   formatt   typet   getattrR   R   (   t   headersR
   R   R   (    (    s   /private/var/folders/3n/6h2rwf155rn1m71wwyxn79n80000gn/T/pip-build-IcAT_k/pip/pip/_vendor/requests/packages/urllib3/util/response.pyt   assert_header_parsing   s    	c         C@  s2   |  j  } t | t  r" | d k S| j   d k S(   s°   
    Checks whether the request of a response has been a HEAD-request.
    Handles the quirks of AppEngine.

    :param conn:
    :type conn: :class:`httplib.HTTPResponse`
    i   t   HEAD(   t   _methodR   t   intt   upper(   t   responset   method(    (    s   /private/var/folders/3n/6h2rwf155rn1m71wwyxn79n80000gn/T/pip-build-IcAT_k/pip/pip/_vendor/requests/packages/urllib3/util/response.pyt   is_response_to_head>   s    		
N(
   t
   __future__R    t   packages.six.movesR   R   t
   exceptionsR   R	   R   R   (    (    (    s   /private/var/folders/3n/6h2rwf155rn1m71wwyxn79n80000gn/T/pip-build-IcAT_k/pip/pip/_vendor/requests/packages/urllib3/util/response.pyt   <module>   s
   		