o
    ìcjX                     @   sD   d dl Z d dlmZmZmZ d dlmZ e ZdedefddZdS )    N)	APIRouter	WebSocketWebSocketDisconnect)ConnectionManagermanagerreturnc                    s$   t ddtdd f fdd}t S )Nz/ws	websocketr   c              	      s     | I d H  zDz/	 ztj|  ddI d H }|dkr%| dI d H  W n tjy8   | dI d H  Y nw q tyB   Y nw W  | I d H  d S  | I d H  w )NTg      >@)timeoutpingz{"type":"pong"}z{"type":"heartbeat"})connectasynciowait_forreceive_text	send_textTimeoutErrorr   
disconnect)r   datar    :/var/www/html/bot-asterisk-ari/backend/websocket/routes.pywebsocket_endpoint   s$   &z,create_ws_router.<locals>.websocket_endpoint)routerr   r   )r   r   r   r   r   create_ws_router
   s   r   )	r   fastapir   r   r   websocket.managerr   r   r   r   r   r   r   <module>   s
    