How To Call It
SSE is a singleton global table: call its functions with a dot (SSE.<method>(...)).
Server-Sent Events reader: reads events from an address and returns a table with ok, events, count and first.
Documented for app version 1.0.51Updated:
SSE is a singleton global table: call its functions with a dot (SSE.<method>(...)).
For network integration, use HTTPS only, keep the response size bounded, and validate the response code before moving into JSON or File steps.
SSE offers 2 methods; each method page lists its parameters and return value.
Rate limit: SSE calls are limited to 12 per minute; only HTTPS addresses are accepted.
The most common pattern is to check a Request response with getResponseCode(), read its body with getData() and parse it with JSON.parse().
The snippet below is a starter pattern that can be applied directly in runtime flow.
local result = SSE.first("https://example.com/events", 10000)
if result.ok and result.first then print(result.first.data) endFrom foundation to combined usage, each level is provided as a separate code block so you can copy the level you need and adapt it directly.
local result = SSE.first("https://example.com/events", 10000)
if result.ok and result.first then print(result.first.data) endlocal result = SSE.first("https://example.com/events", 10000)
if result.ok and result.first then print(result.first.data) end
-- Continue with one focused method on the object.local result = SSE.first("https://example.com/events", 10000)
if result.ok and result.first then print(result.first.data) end
local note = "SSE overview loaded"
print(note)-- For network integration, use HTTPS only, keep the response size bounded, and validate the response code before moving into JSON or File steps.
local function run_sse_step()
local result = SSE.first("https://example.com/events", 10000)
if result.ok and result.first then print(result.first.data) end
end
local ok, err = pcall(run_sse_step)
if not ok then
toast("Step failed")
print(err)
endlocal result = SSE.first("https://example.com/events", 10000)
if result.ok and result.first then print(result.first.data) end
KV.set("last_network_step", DateTime.now():format("yyyy-MM-dd HH:mm:ss"))
print("Network step finished")