跳转到主要内容

asyncio Server-Sent Events实现

项目描述

SSE
===

Simple asyncio/aiohttp包装器,用于Server-Sent Events。

使用方法
-----

发送事件

```python
import asyncio
import sse


class Handler(sse.Handler)
@asyncio.coroutine
def handle_request(self)
yield from asyncio.sleep(2)
self.send('foo')
yield from asyncio.sleep(2)
self.send('bar', event='wakeup')

start_server = sse.serve(Handler, 'localhost', 8888)
asyncio.get_event_loop().run_until_complete(start_server)
asyncio.get_event_loop().run_forever()
```

验证传入请求

```python
class Handler(sse.Handler)
def validate_sse(self)
super().validate_sse()
# use self.request / self.payload
if not self.request.path.startswith('/live')
raise sse.SseException()
```

发送JSON数据

```python
class Handler(sse.Handler)
@asyncio.coroutine
def handle_request(self)
self.send({'foo': 'bar'})
```

发送ID / 事件名称 / 重试信息

```python
class Handler(sse.Handler)
@asyncio.coroutine
def handle_request(self)
self.send('some data', id=12345, event='something', retry=10000)
```

项目详情


下载文件

为您的平台下载文件。如果您不确定要选择哪个,请了解更多关于 安装包 的信息。

源代码分发

asyncio-sse-0.1.tar.gz (3.9 kB 查看哈希值)

上传时间: 源代码

构建分发

asyncio_sse-0.1-py33-none-any.whl (5.2 kB 查看哈希值)

上传时间 Python 3.3

支持