两种可能导致 The key-value separator ":" is not found in the sse line chunk! 问题的情况 #483
Open
Description
重现步骤
问题描述:
在 python 环境下,我使用 sse_starlette 这个库来实现 SSE 协议,有两种情况会导致 ant-design-x 解析 SSE 格式失败:
- 默认情况下,sse_starlette 使用 \r\n 来分割同一事件的各行,我看 ant-design-x 的 x-stream 使用的是 '\n' 进行解析,这种情况下就会报错。我通过设置
EventSourceResponse(generate_stream(), sep="\n")
可以正常使用。 - sse_starlette 会每隔 15 秒发送一个 ping 注释信息,格式如下:
看协议中也有对此行为的相关解释:https://html.spec.whatwg.org/multipage/server-sent-events.html#authoring-notes
Legacy proxy servers are known to, in certain cases, drop HTTP connections after a short timeout. To protect against such proxy servers, authors can include a comment line (one starting with a ':' character) every 15 seconds or so.
请确认以上推测是否正确?如果正确是否可以提供相应的功能升级:
1.支持更多换行符的覆盖("\r\n", "\r", "\n"),或者支持开发者可配置此参数
2.支持对于注释事件的处理
当前行为
No response
预期行为
No response
上下文
No response
版本
1.0.5
您在哪些浏览器上遇到了这个问题?
Chrome, Microsoft Edge