o
    DŒh$  ã                   @   sp   d Z ddlZddlZe e¡Ze ¡  ejjdddg d¢ddZ	ej
dd	e	d
dZh d£Zdedefdd„ZdS )z-
Functions devoted to requests over the WWW.
é    Né   F)i­  ió  iô  iö  i÷  iø  iý  i  i	  i
  i  i  i  i  i  i  iV  é   )ÚtotalÚredirectÚraise_on_redirectÚstatus_forcelistÚbackoff_factorÚ	CERT_NONEéd   é
   )Ú	cert_reqsÚ	num_poolsÚretriesÚtimeout>
   é,  é-  é.  é/  é0  é1  é2  é3  é4  éÈ   ÚurlÚreturnc              
   C   sx   zt  d| ¡}W n ty! } zt d| |¡ W Y d}~nd}~ww |jtv r5t d| ¡ |j¡ | ¡ S t	d| › ƒ‚)z“Test final URL to handle redirects
    Args:
        url: url to check

    Returns:
        The final URL seen.

    Raises:
        Nothing.
    ÚHEADzunknown error: %s %sNzresult found: %s %szcannot reach URL: $)
Ú	HTTP_POOLÚrequestÚ	ExceptionÚLOGGERÚ	exceptionÚstatusÚACCEPTABLE_CODESÚdebugÚgeturlÚ
ValueError)r   ÚrheadÚerr© r)   úP/home/air/segue/gemini/back/venv/lib/python3.10/site-packages/courlan/network.pyÚredirection_test/   s   €ÿ
r+   )Ú__doc__ÚloggingÚurllib3Ú	getLoggerÚ__name__r    Údisable_warningsÚutilÚRetryÚRETRY_STRATEGYÚPoolManagerr   r#   Ústrr+   r)   r)   r)   r*   Ú<module>   s"    
éÿ