fix: enforce SSE terminal event boundaries

This commit is contained in:
MiMoCode
2026-07-10 18:44:25 +08:00
parent d2cb0107a6
commit 92daa9b566
2 changed files with 66 additions and 15 deletions
+21
View File
@@ -0,0 +1,21 @@
package proxy
import "testing"
func TestSSEEventTrackerRejectsEventAfterTerminalEvent(t *testing.T) {
var tracker sseEventTracker
tracker.Write([]byte("data: [DONE]\n\ndata: unexpected\n\n"))
if tracker.Complete() {
t.Fatal("SSE stream with an event after its terminal event must not be complete")
}
}
func TestSSEEventTrackerAcceptsCROnlyEventBoundary(t *testing.T) {
var tracker sseEventTracker
tracker.Write([]byte("data: [DONE]\r\r"))
if !tracker.Complete() {
t.Fatal("terminal SSE event with CR-only boundary should be complete")
}
}