title: Streaming


Wilddog REST API支持 EventSource / Server-Sent Events 协议。在Wilddog数据库使用 Server-Sent Events(简写 SSE), 你需要准备以下:

  • 1. 设置Accept = “text/event-stream”
  • 2. 支持HTTP转跳,HTTP code 307
  • 3. 如果read操作有规则表达式, 需要设置auth参数

云端返回的数据的协议:

  1. event: event name
  2. data: JSON encoded data payload

云端返回的数据协议

put

说明

eventdatajson对象, 包含两个keypathdatapathdata相关的路径。客户端应该替换path的所有数据。


patch

说明

eventdatajson对象, 包含两个keypathdatapathdata相关的路径。对于data的每一个key,客户端应该替换这个key对应的数据。


keep-alive

说明

eventdatanull,即无任何操作。


auth_revoked

说明

event的数据为一个字符串,该字符串表示该认证已过期。当提供的认证过期时,此event将被发送。


示例

先开启一个端口用于查看云端发送的event,下面是云端发送的event示例:

  1. // 设置你整个数据
  2. event: put
  3. data: {"path": "/", "data": {"a": 1, "b": 2}}
  4. // 推送key为c的新数据, 然后整个数据如下
  5. // {"a": 1, "b": 2, "c": {"foo": true, "bar": false}}
  6. event: put
  7. data: {"path": "/c", "data": {"foo": true, "bar": false}}
  8. // 在每个数据的key, 更新或添加数据,
  9. // 然后整个数据如下
  10. // {"a": 1, "b": 2, "c": {"foo": 3, "bar": false, "baz": 4}}
  11. event: patch
  12. data: {"path": "/c", "data": {"foo": 3, "baz": 4}}

为了产生变化,可以再开启一个端口输入命令。

如:使用 curl 命令开启SSE

  1. curl -X GET -H 'Accept:text/event-stream' 'https://<SyncAppID>.wilddogio.com/.json'

使用 curl 命令 put 数据

  1. curl -X PUT -d '{"path": "/", "data": {"a": 1, "b": 2}}' 'https://<SyncAppID>.wilddogio.com/.json'
  2. {"path":"/","data":{"a":1,"b":2}}