Skip to content

Commit 8351f50

Browse files
authored
Merge pull request #73 from patvice/fastpython-fix
Support both Unix and Windows line separators for SSE streams
2 parents 733de12 + 25595b6 commit 8351f50

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

lib/ruby_llm/mcp/transports/streamable_http.rb

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -594,10 +594,17 @@ def process_sse_buffer_events(buffer, _request_id)
594594
end
595595

596596
def extract_sse_event(buffer)
597-
return nil unless buffer.include?("\n\n")
598-
599-
raw, rest = buffer.split("\n\n", 2)
600-
[parse_sse_event(raw), rest]
597+
# Support both Unix (\n\n) and Windows (\r\n\r\n) line endings
598+
separator = if buffer.include?("\r\n\r\n")
599+
"\r\n\r\n"
600+
elsif buffer.include?("\n\n")
601+
"\n\n"
602+
else
603+
return nil
604+
end
605+
606+
raw, rest = buffer.split(separator, 2)
607+
[parse_sse_event(raw), rest || ""]
601608
end
602609

603610
def parse_sse_event(raw)

0 commit comments

Comments
 (0)