提交 125cc780 编写于 作者: A Aaron Patterson

Merge pull request #15070 from ayamomiji/sse-patch

Add multiple lines message support for SSE module
......@@ -102,7 +102,8 @@ def perform_write(json, options)
end
end
@stream.write "data: #{json}\n\n"
message = json.gsub("\n", "\ndata: ")
@stream.write "data: #{message}\n\n"
end
end
......
......@@ -39,6 +39,13 @@ def sse_with_id
ensure
sse.close
end
def sse_with_multiple_line_message
sse = SSE.new(response.stream)
sse.write("first line.\nsecond line.")
ensure
sse.close
end
end
tests SSETestController
......@@ -87,6 +94,15 @@ def test_sse_with_id
assert_match(/data: {\"name\":\"Ryan\"}/, second_response)
assert_match(/id: 2/, second_response)
end
def test_sse_with_multiple_line_message
get :sse_with_multiple_line_message
wait_for_response_stream_close
first_response, second_response = response.body.split("\n")
assert_match(/data: first line/, first_response)
assert_match(/data: second line/, second_response)
end
end
class LiveStreamTest < ActionController::TestCase
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册