File: //usr/local/CyberCP/lib/python3.10/site-packages/websockets/__pycache__/client.cpython-310.pyc
o
�h�4 � @ s� d dl mZ d dlZd dlZd dlZd dlmZmZ d dlm Z ddl
mZmZ ddl
mZmZmZmZmZmZmZ ddlmZmZ dd lmZmZmZmZmZmZmZm Z dd
l!m"Z"m#Z# ddl$m%Z% ddl&m'Z'm(Z(m)Z)m*Z*m+Z+ dd
lm,Z,m-Z-m.Z.m/Z/m0Z0m1Z1 ddl2m3Z3 ddl4m5Z5m6Z6 dgZ7G dd� de*�Z8G dd� de8�Z9e:ej;�<dd��Z=e:ej;�<dd��Z>e:ej;�<dd��Z?e:ej;�<dd��Z@e=e>e?e@fd(d#d$�ZAe%eB� d%d%d%d&�d'� dS ))� )�annotationsN)� Generator�Sequence)�Any� )�Headers�MultipleValuesError)�InvalidHandshake�
InvalidHeader�InvalidHeaderValue�InvalidMessage�
InvalidStatus�InvalidUpgrade�NegotiationError)�ClientExtensionFactory� Extension)�build_authorization_basic�build_extension�
build_host�build_subprotocol�parse_connection�parse_extension�parse_subprotocol�
parse_upgrade)�Request�Response)�lazy_import)�CLIENT�
CONNECTING�OPEN�Protocol�State)�ConnectionOption�ExtensionHeader�
LoggerLike�Origin�Subprotocol�UpgradeProtocol)�WebSocketURI)�
accept_key�generate_key�ClientProtocolc sr e Zd ZdZdddeddd�d,� fdd�Zd-dd�Zd.dd�Zd/d!d"�Zd0d$d%�Z d1d'd(�Z
d2� fd*d+�Z� ZS )3r+ a�
Sans-I/O implementation of a WebSocket client connection.
Args:
uri: URI of the WebSocket server, parsed
with :func:`~websockets.uri.parse_uri`.
origin: Value of the ``Origin`` header. This is useful when connecting
to a server that validates the ``Origin`` header to defend against
Cross-Site WebSocket Hijacking attacks.
extensions: List of supported extensions, in order in which they
should be tried.
subprotocols: List of supported subprotocols, in order of decreasing
preference.
state: Initial state of the WebSocket connection.
max_size: Maximum size of incoming messages in bytes;
:obj:`None` disables the limit.
logger: Logger for this connection;
defaults to ``logging.getLogger("websockets.client")``;
see the :doc:`logging guide <../../topics/logging>` for details.
Ni )�origin�
extensions�subprotocols�state�max_size�logger�urir( r, �
Origin | Noner- �'Sequence[ClientExtensionFactory] | Noner. �Sequence[Subprotocol] | Noner/ r! r0 �
int | Noner1 �LoggerLike | None�return�Nonec s8 t � jt|||d� || _|| _|| _|| _t� | _d S )N)�sider/ r0 r1 ) �super�__init__r r2 r, �available_extensions�available_subprotocolsr* �key)�selfr2 r, r- r. r/ r0 r1 �� __class__� �D/usr/local/CyberCP/lib/python3.10/site-packages/websockets/client.pyr<