�
L�g� � � � d dl Z d dlZd dlZd dlmZ d dlmZmZ ddlm Z ddgZ
ded efd
�Z
ddgZd
ed efd�Zded efd�Zdeded efd�Zdedee d efd�Z ddededee dedee dee ded efd�ZdS )� N)�Optional)�unquote�urlparse� )�WebSocketProxyException� parse_url�get_proxy_info�url�returnc � � d| vrt d� � �| � dd� � \ }} t | d�� � }|j r|j }nt d� � �d}|j r|j }d}|d k r|sd
}n|dk rd}|sd
}nt d|z � � �|j r|j }nd}|j r
|d|j � �z
}||||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 invalidr �http)�schemezhostname is invalidr F�ws�P �wssTi� zscheme %s is invalid�/�?)�
ValueError�splitr �hostname�port�path�query)r
r �parsedr r � is_secure�resources �^/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/websocket/_url.pyr r s � � �#�~�~��)�*�*�*��)�)�C��#�#�K�F�C�
�c�&�
)�
)�
)�F�
�� 0��?����.�/�/�/��D�
�{� ��{���I�
��~�~�� ��D�� �5���� �� ��D���/�&�8�9�9�9�
�{� ��;�����
�|� '��&���&�&�&���T�8�Y�.�.� � localhostz 127.0.0.1�addrc �\ � t j | � � dS # t j $ r Y dS w xY w)NTF)�socket� inet_aton�error)r! s r �_is_ip_addressr&