Skip to main content

Module sse

Module sse 

Source
Expand description

SSE 流式输出端点。GET /api/exec/stream?task_id=X

鉴权 + 限流已在 super::execute::start_exec_stream 完成(校验链),此处只 校验 task 存在。task_id 是 UUID,不可枚举;只有过了校验的调用者才知道 task_id。

前端用原生 EventSource 连接本端点(web_sys::EventSource),按 event 类型 分发:stdout → 终端 writeStdout,stderr → writeStderr,done → 终态收尾。 keep-alive comment 每 15s 一次,防反向代理超时关闭空闲连接。

Structs§

DonePayload 🔒
done 事件的 JSON payload。
StreamQuery
SSE 查询参数:?task_id=X

Functions§

exec_stream
SSE handler:从 EXEC_STREAMS 取出 receiver(取出即移除,防重复连接), 包成 ReceiverStream,映射成 SSE Event 流。