o
    äÝ`gI  ã                   @   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__ÚOKÚ
GOING_AWAYÚPROTOCOL_ERRORÚUNSUPPORTED_DATAÚABNORMAL_CLOSUREÚINVALID_TEXTÚPOLICY_VIOLATIONÚMESSAGE_TOO_BIGÚMANDATORY_EXTENSIONÚINTERNAL_ERRORÚSERVICE_RESTARTÚTRY_AGAIN_LATERÚBAD_GATEWAY© r   r   úT/var/www/html/propose/venv/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   ÚCONTINUATIONÚTEXTÚBINARYÚPINGÚPONGÚCLOSEÚCLOSINGÚCLOSEDÚERRORÚtextÚbinaryÚ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
        )r8   )Úselfr:   r   r   r   Újson8   s   
zWSMessage.jsonN)r   r   r   r   Ú__annotations__r   r   Ústrr=   r:   r   r   r   r   r   r6   2   s
   
 (r6   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)rA   ÚsuperÚ__init__)r<   rA   rB   ©Ú	__class__r   r   rD   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?   rD   rH   Ú__classcell__r   r   rE   r   r@   H   s    r@   c                   @   s   e Zd ZdZdS )ÚWSHandshakeErrorz#WebSocket protocol handshake error.N)r   r   r   rI   r   r   r   r   rL   S   s    rL   )rI   r=   Úenumr   Útypingr   r   r   r   r   r   Úbytesr
   r>   r   r   r6   ÚtupleÚ__new__r,   ÚWS_CLOSED_MESSAGEr+   ÚWS_CLOSING_MESSAGEÚ	Exceptionr@   rL   r   r   r   r   Ú<module>   s     