a
    e	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__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   \/var/www/html/llm_bihealth/app/venv/lib/python3.9/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TEXTZBINARYZPINGZPONGZCLOSECLOSINGCLOSEDERRORtextbinaryZpingZpongcloseclosingclosederrorr   r   r   r   r      s"   r   c                   @   sL   e Zd ZU eed< eed< ee ed< ej	de
egef edddZdS )		WSMessagetypedataextra)loads)r(   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                       s8   e Zd ZdZeedd fddZedddZ  ZS )	WebSocketErrorz WebSocket protocol parser error.N)codemessager)   c                    s   || _ t || d S )N)r/   super__init__)r*   r/   r0   	__class__r   r   r2   K   s    zWebSocketError.__init__)r)   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-   r2   r6   __classcell__r   r   r3   r   r.   H   s   r.   c                   @   s   e Zd ZdZdS )WSHandshakeErrorz#WebSocket protocol handshake error.N)r   r   r   r7   r   r   r   r   r:   S   s   r:   )r7   r+   enumr   typingr   r   r   r   r   r   bytesr
   r,   r   r   r$   tuple__new__r   ZWS_CLOSED_MESSAGEr   ZWS_CLOSING_MESSAGE	Exceptionr.   r:   r   r   r   r   <module>   s    