File

mod_pubsub_get/mod_pubsub_get.lua @ 6206:ac7e2992fe6e

mod_rest: Strip down error payloads to avoid stack overflow When the util.error feature of including a traceback in the error, util.json can't serialize it as it is often self-referential.
author Kim Alvefur <zash@zash.se>
date Sun, 16 Mar 2025 17:04:51 +0100
parent 6204:119c0eb65bf3
line wrap: on
line source

module:depends("http")
local pubsub_service = module:depends("pubsub").service
local json = require "util.json"

function handle_GET(event)
	local request, response = event.request, event.response
	local query = request.url.query

	if query:sub(1, 5) ~= "node=" then return 400 end

	local node = query:sub(6)
	local ok, items = pubsub_service:get_items(node, true)

	if not ok then return 404 end
	response.status_code = 200
	return json.encode(items)
end

module:provides("http", {route = {GET = handle_GET}})