
    gI                     L   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e      Z G d	 d
e      Z G d de      Zej%                  eej&                  ddf      Zej%                  eej*                  ddf      Z G d de      Z G d de      Zy)z0Models for WebSocket protocol versions 13 and 8.    N)IntEnum)AnyCallableFinal
NamedTupleOptionalcast)r   r      r
   WS_DEFLATE_TRAILINGc                   @    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y)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     N/var/www/openai/venv/lib/python3.12/site-packages/aiohttp/_websocket/models.pyr   r   
   sG    	BJNLONOOKr   r   c                   P    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y
)	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"      sY    LDFDDE GFEDFDDEGFEr   r"   c                   h    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Zy)		WSMessagetypedataextra)loadsr?   returnc                &     || j                         S )zAReturn parsed JSON data.

        .. versionadded:: 0.22
        )r=   )selfr?   s     r    jsonzWSMessage.json8   s    
 TYYr   N)r   r   r   r"   __annotations__r   r   strrC   r?   r   r   r   r    r;   r;   2   s;    
O
IC=48JJ  XseSj1  3  r   r;   c                   <     e Zd ZdZdededdf fdZdefdZ xZS )WebSocketErrorz WebSocket protocol parser error.codemessager@   Nc                 4    || _         t        | 	  ||       y )N)rH   super__init__)rB   rH   rI   	__class__s      r    rL   zWebSocketError.__init__K   s    	w'r   c                 <    t        t        | j                  d         S )Nr#   )r	   rE   args)rB   s    r    __str__zWebSocketError.__str__O   s    C1&&r   )	r   r   r   __doc__intrE   rL   rP   __classcell__)rM   s   @r    rG   rG   H   s,    *(S (3 (4 (' 'r   rG   c                       e Zd ZdZy)WSHandshakeErrorz#WebSocket protocol handshake error.N)r   r   r   rQ   r   r   r    rU   rU   S   s    -r   rU   )rQ   rC   enumr   typingr   r   r   r   r   r	   bytesr   rD   r   r"   r;   tuple__new__r0   WS_CLOSED_MESSAGEr/   WS_CLOSING_MESSAGE	ExceptionrG   rU   r   r   r    <module>r^      s    6   C C$)*B$C U5\ C'   0 
  $ MM)i.>.>d-KL ]]9y/@/@$.MN 'Y '.y .r   