aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/hrc/service/http
diff options
context:
space:
mode:
authorHsiangNianian <i@jyunko.cn>2024-09-19 14:44:33 +0800
committerHsiangNianian <i@jyunko.cn>2024-09-19 14:44:33 +0800
commite9a780496f7ce067e0d8d51ce1d62e48c9f2a8d9 (patch)
treea3e31e07fd001baa1cfce9ceebcdfed58b50bcda /hrc/service/http
parent9e18d7ebf7a17bb7d7d169da3a3cefde0956a9f9 (diff)
downloadHydroRollCore-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/http')
-rw-r--r--hrc/service/http/__init__.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/hrc/service/http/__init__.py b/hrc/service/http/__init__.py
new file mode 100644
index 0000000..a8d938b
--- /dev/null
+++ b/hrc/service/http/__init__.py
@@ -0,0 +1,33 @@
+from typing_extensions import override
+
+from aiohttp import web
+
+from hrc.service.utils import HttpServerService
+from hrc.event import Event
+from hrc.log import logger
+from aiohttp import web
+
+class HttpServerTestEvent(Event["HttpServerTestService"]):
+ """HTTP 服务端示例适配器事件类。"""
+
+ message: str
+
+
+class HttpServerTestService(HttpServerService[HttpServerTestEvent, None]):
+ name: str = "http_server_service"
+ get_url: str = "/"
+ post_url: str = "/"
+ host: str = "127.0.0.1"
+ port: int = 8080
+
+
+ @override
+ async def handle_response(self, request: web.Request) -> web.StreamResponse:
+ event = HttpServerTestEvent(
+ service=self,
+ type="message",
+ rule="",
+ message=await request.text(),
+ )
+ await self.handle_event(event)
+ return web.Response() \ No newline at end of file