v0.7.0

回應與 SSE

最後更新

HakoRun 如何把函式輸出轉成 JSON 回應,以及串流模式的事件格式。

型別標註

非串流模式回傳 {"data": ..., "type": ...}。結果取自 stdout 由下往上第一行合法 JSON;沒有合法 JSON 時,取過濾掉 Node.js 警告(Warning:、ExperimentalWarning 等)後的全部輸出。

type 條件 範例 data
string JSON 字串 "done"
number JSON 數值 8
json JSON 物件、陣列、布林或 null {"sum": 30}
text 不是合法 JSON hello world

SSE 事件

stream: true 時回應標頭為 text/event-stream,每則事件為一行 data: <JSON>:

data: {"event":"log","data":0,"type":"number"}

data: {"event":"result","data":"done","type":"string"}
event 送出時機
log stdout 每一行在下一行出現時送出
result 行程正常結束,內容為 stdout 最後一行
error stderr 有輸出、逾時、客戶端斷線或非零退出碼

每則事件的 type 依上表規則判斷;result/error 內的換行字元會被替換成空白。

結束與中止

相關頁面

EN