o
    Y­§iI  ã                   @   sÎ   U d Z ddlZddlmZ ddlmZmZmZmZm	Z	m
Z
 eg d¢ƒZee ed< G dd„ deƒZG d	d
„ d
eƒZG dd„ deƒZe eejddf¡Ze eejddf¡ZG dd„ deƒZG dd„ deƒZdS )z0Models for WebSocket protocol versions 13 and 8.é    N)ÚIntEnum)ÚAnyÚCallableÚFinalÚ
NamedTupleÚOptionalÚcast)r   r   éÿ   r	   ÚWS_DEFLATE_TRAILINGc                   @   s@   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdS )ÚWSCloseCodeiè  ié  iê  ië  iî  iï  ið  iñ  iò  ió  iô  iõ  iö  N)Ú__name__Ú
__module__Ú__qualname__ÚOKZ
GOING_AWAYZPROTOCOL_ERRORZUNSUPPORTED_DATAZABNORMAL_CLOSUREZINVALID_TEXTZPOLICY_VIOLATIONZMESSAGE_TOO_BIGZMANDATORY_EXTENSIONÚINTERNAL_ERRORZSERVICE_RESTARTZTRY_AGAIN_LATERÚBAD_GATEWAY© r   r   úP/home/app/Keep/.python/lib/python3.10/site-packages/aiohttp/_websocket/models.pyr   
   s    r   c                   @   sP   e Zd ZdZdZdZdZdZdZdZ	dZ
d	ZeZeZeZeZeZe	Ze
ZeZd
S )Ú	WSMsgTyper   é   é   é	   é
   é   é   i  i  N)r   r   r   ZCONTINUATIONZTEXTÚBINARYZPINGZPONGZCLOSEÚCLOSINGÚCLOSEDÚERRORÚtextÚbinaryZpingÚpongÚcloseÚclosingÚclosedÚerrorr   r   r   r   r      s$    r   c                   @   sN   e Zd ZU eed< eed< ee ed< ej	dœde
egef defdd„Zd	S )
Ú	WSMessageÚtypeÚdataÚextra)Úloadsr*   Úreturnc                C   s
   || j ƒS )zAReturn parsed JSON data.

        .. versionadded:: 0.22
        )r(   )Úselfr*   r   r   r   Újson8   s   
zWSMessage.jsonN)r   r   r   r   Ú__annotations__r   r   Ústrr-   r*   r   r   r   r   r   r&   2   s
   
 (r&   c                       s<   e Zd ZdZdededdf‡ fdd„Zdefdd	„Z‡  ZS )
ÚWebSocketErrorz WebSocket protocol parser error.ÚcodeÚmessager+   Nc                    s   || _ tƒ  ||¡ d S )N)r1   ÚsuperÚ__init__)r,   r1   r2   ©Ú	__class__r   r   r4   K   s   zWebSocketError.__init__c                 C   s   t t| jd ƒS )Nr   )r   r/   Úargs)r,   r   r   r   Ú__str__O   s   zWebSocketError.__str__)	r   r   r   Ú__doc__Úintr/   r4   r8   Ú__classcell__r   r   r5   r   r0   H   s    r0   c                   @   s   e Zd ZdZdS )ÚWSHandshakeErrorz#WebSocket protocol handshake error.N)r   r   r   r9   r   r   r   r   r<   S   s    r<   )r9   r-   Úenumr   Útypingr   r   r   r   r   r   Úbytesr
   r.   r   r   r&   ÚtupleÚ__new__r   ZWS_CLOSED_MESSAGEr   ZWS_CLOSING_MESSAGEÚ	Exceptionr0   r<   r   r   r   r   Ú<module>   s     