aiohttp的服务端事件支持。
项目描述
EventSource 接口用于接收服务端发送的事件。它通过HTTP连接到服务器,并接收文本/event-stream格式的数据,而不会关闭连接。 aiohttp-sse 为 aiohttp 提供了服务端事件支持。
安装
安装过程非常简单
$ pip install aiohttp-sse
示例
import asyncio
from datetime import datetime
from aiohttp import web
from aiohttp_sse import sse_response
async def hello(request: web.Request) -> web.StreamResponse:
async with sse_response(request) as resp:
while resp.is_connected():
time_dict = {"time": f"Server Time : {datetime.now()}"}
data = json.dumps(time_dict, indent=2)
print(data)
await resp.send(data)
await asyncio.sleep(1)
return resp
async def index(_request: web.Request) -> web.StreamResponse:
html = """
<html>
<body>
<script>
var eventSource = new EventSource("/hello");
eventSource.addEventListener("message", event => {
document.getElementById("response").innerText = event.data;
});
</script>
<h1>Response from server:</h1>
<div id="response"></div>
</body>
</html>
"""
return web.Response(text=html, content_type="text/html")
app = web.Application()
app.router.add_route("GET", "/hello", hello)
app.router.add_route("GET", "/", index)
web.run_app(app, host="127.0.0.1", port=8080)
EventSource协议
要求
aiohttp 3+
许可证
aiohttp-sse 在Apache 2.0许可证下提供。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪一个,请了解更多关于安装包的信息。
源代码分发
aiohttp-sse-2.2.0.tar.gz (9.4 kB 查看哈希值)
构建分发
aiohttp_sse-2.2.0-py3-none-any.whl (6.7 kB 查看哈希值)
关闭
aiohttp-sse-2.2.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a48dd5774031d3f41a29e159ebdbb93e89c8f37c1e9e83e196296be51885a5c2 |
|
MD5 | 8c86e737a2f3642941c1d383f42ce6ae |
|
BLAKE2b-256 | 80df4ddb30e689695fd91cf41c072e154061120ed166e8baf6c9a0020f27dffc |
关闭
aiohttp_sse-2.2.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 339f9803bcf4682a2060e75548760d86abe4424a0d92ba66ff4985de3bd743dc |
|
MD5 | a68b27baacf7606fc5abbb266c956f6d |
|
BLAKE2b-256 | 5ab8bf448b1d2dbe6cf16c3be0b92230a8f032f2f0ed159a2299284c709819c8 |