aboutsummaryrefslogtreecommitdiffstats
path: root/pysite/views/ws/echo.py
blob: b6f11168d94e527f0e809120dfd2f07ce4567aeb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import logging

from geventwebsocket.websocket import WebSocket

from pysite.websockets import WS


class EchoWebsocket(WS):
    path = "/echo"
    name = "ws.echo"

    def __init__(self, socket: WebSocket):
        super().__init__(socket)
        self.log = logging.getLogger()

    def on_open(self):
        self.log.debug("Echo | WS opened.")
        self.send("Hey, welcome!")

    def on_message(self, message):
        self.log.debug(f"Echo | Message: {message}")
        self.send(message)

    def on_close(self):
        self.log.debug("Echo | WS closed.")