v0.1.2

SSE 串流

本頁說明 Server-Sent Events(SSE)回應如何被偵測並即時顯示。

偵測

回應 Header Content-Type 包含 text/event-stream 時切換為串流模式;判斷只看回應,請求是否帶 Accept: text/event-stream Header 不影響。

### SSE Stream
GET https://sse.dev/test
Accept: text/event-stream

###

即時渲染

行為 說明
逐行附加 bufio.Scanner 每讀到一行就重繪資訊面板,原始行原樣顯示(含 data:、event: 前綴)
自動捲動 每次重繪後捲到最底
顯示上限 只保留最後 100 行,較早的行不再顯示
標頭列 狀態行與 Header 之後顯示 Duration: 經過時間 | Events: 數量,每行更新一次

Events 為已讀行數除以 2,假設每個事件由一行資料加一個空行組成;多行 data: 或帶 event:/id: 的事件會讓數字與實際事件數不符。

結束

伺服器關閉連線後,提示列顯示 (狀態碼) METHOD URL | 總耗時;讀取發生錯誤時改顯示紅色 Stream error: ...,已收到的內容保留在資訊面板。

逾時

HTTP client 的 Timeout 固定為 120 秒,且涵蓋讀取 Body 的時間,因此持續超過 120 秒的串流會被中斷並以 Stream error 結束。詳見 已知限制。

EN