File: //lib/python3/dist-packages/websocket/__pycache__/_url.cpython-310.pyc
o
    �_a�  �                   @   sx   d Z 	 ddlZddlZddlZddlmZmZ ddgZdd� ZddgZ	d	d
� Z
dd� Zd
d� Zdd� Z
		ddd�ZdS )z
�    N)�unquote�urlparse�	parse_url�get_proxy_infoc                 C   s�   d| vrt d��| �dd�\}} t| dd�}|jr|j}nt d��d}|jr)|j}d}|d	kr4|s3d
}n|dkr?d}|s>d
}nt d| ��|jrL|j}nd}|jrX|d|j 7 }||||fS )z�
    parse url and the result is tuple of
    (hostname, port, resource path and the flag of secure mode)
    Parameters
    ----------
    url: str
        url string.
    �:zurl is invalid�   �http)�schemezhostname is invalidr   F�ws�P   �wssTi�  zscheme %s is invalid�/�?)�
ValueError�splitr   �hostname�port�path�query)�urlr	   �parsedr   r   �	is_secure�resource� r   �0/usr/lib/python3/dist-packages/websocket/_url.pyr   !   s6   
���	localhostz	127.0.0.1c                 C   s(   zt �| � W dS  t jy   Y dS w )NFT)�socket�	inet_aton�error)�addrr   r   r   �_is_ip_addressR   s   ��r    c                 C   sL   z| � d�\}}t|�odt|�  kodk W S   W S  ty%   Y dS w )Nr
   r   �    F)r   r    �intr   )r   r   �netmaskr   r   r   �_is_subnet_address[   s   (�r$   c                 C   sZ   t �dt�| ��d }|�d�\}}t �dt�|��d }ddt|� >