diff options
| author | 2024-09-19 14:44:33 +0800 | |
|---|---|---|
| committer | 2024-09-19 14:44:33 +0800 | |
| commit | e9a780496f7ce067e0d8d51ce1d62e48c9f2a8d9 (patch) | |
| tree | a3e31e07fd001baa1cfce9ceebcdfed58b50bcda /hrc/service/websocket | |
| parent | 9e18d7ebf7a17bb7d7d169da3a3cefde0956a9f9 (diff) | |
| download | HydroRollCore-e9a780496f7ce067e0d8d51ce1d62e48c9f2a8d9.tar.gz HydroRollCore-e9a780496f7ce067e0d8d51ce1d62e48c9f2a8d9.zip | |
feat(core): Implement Service class and related functionalities
Co-authored-by: yuzhe <YUZHEthefool@users.noreply.github.com>
Diffstat (limited to 'hrc/service/websocket')
| -rw-r--r-- | hrc/service/websocket/__init__.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/hrc/service/websocket/__init__.py b/hrc/service/websocket/__init__.py new file mode 100644 index 0000000..3a7f089 --- /dev/null +++ b/hrc/service/websocket/__init__.py @@ -0,0 +1,30 @@ +from typing import Any, Coroutine +from typing_extensions import override +from aiohttp import web, ClientWebSocketResponse + +from hrc.service.utils import WebSocketService +from hrc.event import Event +from hrc.log import logger + +from aiohttp import web + +class WebSocketTestEvent(Event["WebSocketTestEvent"]): + message: str + +class WebSocketTestService(WebSocketService[WebSocketTestEvent, None]): + name: str = "websocket_test_service" + service_type: str = "reverse-ws" + host: str = "127.0.0.1" + port: int = 8765 + url: str = "/" + + @override + async def handle_reverse_ws_response(self, request: web.Request) -> Coroutine[Any, Any, ClientWebSocketResponse]: + event = WebSocketTestEvent( + service=self, + type="message", + message=await request.text() + ) + logger.info(f"Receive {event}") + await self.handle_event(event) + return web.Response()
\ No newline at end of file |
