用于读取服务器发送的事件流的python客户端库。
stellar-base-sseclient的Python项目详细描述
这是一个python客户端库,用于在http服务器发送的事件(sse)上迭代。 流(也称为eventsource,在javascript接口名称之后 在浏览器中)。sseclient类在init上接受一个url,然后是 对来自服务器的消息进行迭代器。
安装
使用pip:
pip install sseclient
用法
from sseclient import SSEClient messages = SSEClient('http://mysite.com/sse_stream/') for msg in messages: do_something_useful(msg)
每个消息对象都有一个“data”属性,以及可选的“event”, “id”和“retry”属性。
可选初始参数:
- last_id:如果提供,则此参数将发送到服务器以通知 只返回比此ID更新的邮件。
- 重试:断开连接后要等待的毫秒数,然后再尝试 重新连接。服务器可以通过在 信息。重试由sseclient对象自动处理。
您还可以提供 Requests库,例如“headers”dict和(用户名、密码)元组 对于“auth”。
开发
在可编辑模式下安装库:
pip install -e .
安装测试依赖项:
pip install pytest backports.unittest_mock
使用py运行测试。test:
(sseclient)vagrant sseclient $ py.test ===================== test session starts ====================== platform linux2 -- Python 2.7.6 -- py-1.4.30 -- pytest-2.7.2 rootdir: /vagrant/code/sseclient, inifile: plugins: backports.unittest-mock collected 11 items test_sseclient.py ........... ================== 11 passed in 0.19 seconds ===================
代码中有两个todo项用于获取实现 完全符合SSE规范中的细节。