
    h.                    V    S SK Jr  S SKJr  S SKJrJr  SSKJ	r	  S	S jr
S
S jrSS jrg)    )annotationsN)!MultipartInvariantViolationDefectStartBoundaryNotFoundDefect   )HeaderParsingErrorc                     U R                  5       $ ! [         a     Of = f U R                  $ ! [         a     Of = f U R                  SL $ ! [         a     Of = f[	        S5      e)zd
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.)isclosedAttributeErrorclosedfp
ValueError)objs    G/var/www/html/env/lib/python3.13/site-packages/urllib3/util/response.pyis_fp_closedr   	   s}     ||~ zz  vv~  @
AAs*    
/ 
<< A 
AAc                   [        U [        R                  5      (       d  [        S[	        U 5       S35      eSnU R                  5       (       d-  U R                  5       n[        U[        [        45      (       a  UnU R                   Vs/ s H"  n[        U[        [        45      (       a  M   UPM$     nnU(       d  U(       a	  [        XAS9egs  snf )a"  
Asserts whether all headers have been successfully parsed.
Extracts encountered errors from the result of parsing headers.

Only works on Python 3.

:param http.client.HTTPMessage headers: Headers to verify.

:raises urllib3.exceptions.HeaderParsingError:
    If parsing errors are found.
zexpected httplib.Message, got .N)defectsunparsed_data)
isinstancehttplibHTTPMessage	TypeErrortypeis_multipartget_payloadbytesstrr   r   r   r   )headersr   payloaddefectr   s        r   assert_header_parsingr!   (   s     gw22338gqIJJM !!%%'gs|,,#M oo%F02ST
 	%   - NN  s   
C-Cc                @    U R                   nUR                  5       S:H  $ )z
Checks whether the request of a response has been a HEAD-request.

:param http.client.HTTPResponse response:
    Response to check if the originating request
    used 'HEAD' as a method.
HEAD)_methodupper)response
method_strs     r   is_response_to_headr(   [   s#     !!J''    )r   objectreturnbool)r   zhttplib.HTTPMessager+   None)r&   zhttplib.HTTPResponser+   r,   )
__future__r   http.clientclientr   email.errorsr   r   
exceptionsr   r   r!   r(    r)   r   <module>r4      s#    "  W +B>0Of
(r)   