o
    RDi7                     @  sj   d dl mZ d dlZd dlZd dlmZ ddlmZ ee	Z
edZdddZdddZddddZdS )    )annotationsN)	getLogger   )_TOP_LEVEL_DOMAIN_REGEXzm^http(s?)\:\/\/[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z@:])*(:(0-9)*)*(\/?)([a-zA-Z0-9\-\.\?\,\&\(\)\/\\\+&%\$#_=@:]*)?$urlstrreturnboolc                 C  s   t t| S )zConfirms if the provided URL is a valid HTTP/ HTTPs URL

    Args:
        url: the URL that needs to be validated

    Returns:
        true/ false depending on whether the URL is valid or not
    )r	   URL_VALIDATORmatch)r    r   U/var/www/Datamplify/venv/lib/python3.10/site-packages/snowflake/connector/url_util.pyis_valid_url   s   	r   target
str | Nonec                 C  s&   | du rt d dS tjj| ddS )zConverts a target string into escaped URL safe string

    Args:
        target: string to be URL encoded

    Returns:
        URL encoded string
    Nz$The string to be URL encoded is None )safe)loggerdebugurllibparse
quote_plus)r   r   r   r   url_encode_str   s   	
r   hostnamec                 C  s6   | sdS t t| }|r|ddd   S d S )Ncomr   r   )researchr   grouplower)r   r   r   r   r   &extract_top_level_domain_from_hostname,   s   "r   )r   r   r   r	   )r   r   r   r   )N)r   r   r   r   )
__future__r   r   urllib.parser   loggingr   	constantsr   __name__r   compiler
   r   r   r   r   r   r   r   <module>   s    

